Forward all methods of a structure

I’m not quite sure I’m understanding you correctly, but it sounds like you want to define a new function for arrays, and then also extend that to a new type.

It might help if you could give a broader explanation of what you’re trying to do. It’s still sounding a bit like you just want some new AbstractArray methods, in which case what you should do is define Daggered <: AbstractArray and then simply define some methods which take an AbstractArray argument, i.e.

trait(A::AbstractArray, args...) = # some code

(perhaps see some documentation on abstract types).

Again, not sure if this is a real example, but Daggered of a matrix sounds quite a lot like an adjoint to me, so it might be worth looking through some of the array and linear algebra docs to see if what you’re doing is already implemented.