functor (Id : Sig.Id) ->
  functor (Maker : functor (Unit : sig  end) -> sig  end) -> sig  end