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