Explicit recursion can land you in trouble -- use forever forever