would probably have to be some generics abuse to do it. although I am not sure how it would be best implemented. I suppose it imply’s that the underlying runtime has duck typing. or have the compiler auto generate an
interface AB: A, B
and swap out the type on anything that fits but that would likely be some sort of subgraph isomorphism problem thus unrealistic