error reporting for simple cases
Checks for unguarded recursion