https://discordapp.com/channels/918498540232253480/918498540232253483/945673530803109968
I agree. That could probably be implemented quite efficiently.
btw: here is an actual self-referencing case that is legal:
fib ::= :: | x |
if x < 2: x
else: (fib.call x - 1) + (fib.call x - 2)