Generalizing ‘jq’ and Traversal Systems using optics and standard monads | Hacker News