A self-referential function
f = ... f ...
can be rewritten
f = (f....f...)f
which is not self referential.
It asserts that the function f is a fixpoint of the
expression (f....f...)
A fixpoint of a function f is an expression fp such that (f fp) = fp.