Examples of binary choices where both options seem equally good at first, but really aren't:
When writing parsers using #parser #combinators, consuming trailing whitespace is better than consuming leading whitespace. "Design patterns for parser combinators" https://dl.acm.org/doi/abs/10.1145/3471874.3472984
When writing #E2E #tests, clearing the database before each test is better than clearing it after. "Dangling state is your friend" https://docs.cypress.io/guides/references/best-practices#Dangling-state-is-your-friend
#parser #combinators #e2e #tests
@tapani the only thing I would have done differently if I was writing it today, I'd use #parser #combinators for https://github.com/manpages/py-ken/blob/master/parser.py, moved program entry point to `main.py` and removed all the dead WIP code like `solver.py`.