> What is your use case? What do you want to do?

I've been trying to combine camlp4 with OMeta.
(http://tinlizzie.org/ometa/)
The idea is to allow the user to extend the concrete
syntax of the parsing system itself for parsing
different kinds of data (terminals), then layer the
standard combinator syntax on top of it. 

Maybe the user can define a regular variant type for
terminals and the combinator ast type can wrap it in
a single variant (e.g. `Reader of Read.ast).