Awesome, great work. I'll have to play around with this later and dig into the source. I'm looking forward to that - I'm just beginning to dive into this area.
What are your thoughts on implementing reversible patterns?
(submap? (extract p (replace p input bindings)) bindings)
That would make the data-grammar/generic-traversal experiments much nicer and also cleanly delineates patterns from views. It may also help when I try to do things like generative testing.
Not quite sure how that would work for (or ...) and (not ...) patterns, so it still needs more hammock time.
What are your thoughts on implementing reversible patterns?