Basically, in current the definitions for all the methods (which, edit, less, code_...), `which` is the odd man out.  All the others get the arguments as tuple of types.  So for this macro to generically call all of them I needed to change `which`'s signature.