> The six simple building blocks: variables, states, and the four kinds of goal — make two values equal, provide local variables to an existing goal, pursue two existing goals separately, and pursue two existing goals together.
> The only data structure is a pair. We can create lists using pairs.
It walks you through implementing microkanren in Ruby. You might find it easier to implement all of that in gdscript.