Allow interfaces to be registered as safe types

Code checks to see if a concrete registered type has been registered for an object, or if not, whether an interface has been registered.