functor (Sig : SIG-> TERM