It has to be mentioned that copying data which are completely assembled is not efficient, because new memory has to be allocated and time is wasted. For these reasons linear solvers can be designed to provide access to internal data structures which can be directly interfaced by the linearized function.
Consequently, it might be advantageous to use the linearized equation as interface only which is wrapped on each internal matrix data structure. In many cases all relevant data (e.g. which elements are non-zero) are already available in these structures and only few adaptions to the common interface have to be made.