Functional programming with structured graphs
Total parser combinators