don't forget to reset $RecursionLimit in tests