`wrap` has relatively simple meaning: for any interface I and class C it generates class C' inheriting I and implementing all methods of I in terms of forwarding calls to methods of C with same name and signature.

What does happen here is that `wrap` was not implemented with NVI in mind and tries to override `both` in C' which, of course, can't work.

File an enhancement request for `wrap` to become aware of NVI.

Reply via email to