functor (Z : sig  end-> Id