prolog: recursion, and list intro
Channel: Ian Barland
Date: 17/04/2024

Having made some simple prolog rules, we now make some recursive rules (ancestor, cousin).
We then go on to process lists (still respecting the empty-or-constructed-from-head-tail datatype definition for lists).