functor (Id : Sig.Id) ->
  functor (Maker : functor (Ast : Sig.Camlp4Ast) -> Sig.Parser(Ast).S) ->
    sig  end