When more complex models comes to the scene, we will need a way to tell that a some IKey.Type is derived from some base key type.
These will be for sure needed by Ensure.Condition.NotDifferentKeyType.
I'm quite sure that these mappings will be static per-domain/application.