add implements? like satisfies? but does not check for natives that
extend the protocol. rename type_satisfies_ to native-satisfies?