Avoid false positive for infinite recursion by not checking conditionals at compile time, but add tests at runtime that also catch infinite mutual recursion.
Changed paths: