Add type's method to Base

I want to add a method directly to Base (it’s a basic operation :(!)). I’m aware of
set_override_module(jl_base_module) and unset_override_module(). However, I want to define a method for an object myclass, and the following does not work:

mod.add_type<myclass>
  .set_override_module(jl_base_module)
  .method("!", &myclass::operator !)
  .unset_override_module();

It does work without the set_override, but then ! gets added to the wrong module.

It may be easier to add a method to your module first, then add to Base from the Julia side:

mod.add_type<myclass>
  .method("__negate__", &myclass::operator !);
Base.:!(x::myclass) = __negate__(x)

That works, and I had another workaround by just installing a general method with a [](x::myclass) { return !x; } argument.

I tried to follow through the Extra... magic of cxxwrap, but could not find any way of adding an argument to method that would specify the module. IMO that would make sense.