Move the `upcast` routine into traits and use it for method selection
move get_method_index into traits and give it a better name (`get_vtable_index_of_object_method`)
WIP -- the rest
WIP -- missed Sized
WIP -- undo confusing change
WIP -- FIXME -- add confusing type annotation (Why is it necessary?)
Add some debug logging to object-safety.
WIP -- more and more
fix object safety rules