amb is a really interesting control flow structure: https://community.schemewiki.org/?amb (not sure I understand how it behaves with side effects though)