The recursion technique is not very well scalable so the "Maximum call stack size exceeded"-like error occurs on some datasets.