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