Bug fixed: was checking non-deterministic null results as though they were empty lists of arguments, now I check if an empty list of arguments evaluates to a list containing a single null list [[]], and if so, this singleton list is iterated over in the non-deterministic choice.