Choice trees: Nondeterministic, recursive, and impure programs in Coq | Hacker News Reader