functor (S : sig  end-> S