type, abstract :: KeywordEnforcer contains procedure (nonimplementable), deferred, nopass, private :: nonimplementable end type KeywordEnforcer