Added contracts to handle the TypeInstanceResolution