functor (Spec : SPEC_NAMES-> S_NAMES