@brebs Hmm, you’re well past my current level of Prolog with that code! I’ve seen the (... -> ... ; ... ) construct around, but have no idea what it means yet.
Is there a simple explanation, or do I note it down with the other million Prolog features I want to learn
For a bit of historical trivia about the way SWI-Prolog treats the empty list (or more
properly the list terminator constant) see 5.1 Lists are special.