functional recursion limiter
better defaults for the recursion limiter