Add optional recur parameter to control strictness.
Add performance spec.
Add performance spec. Failing with current implementation.