> How many ways can a reasonable programmer write the factorial function imperatively
This page is a terrible example. Most of these are not not what a "reasonable programmer" would do.
An unreasonable programmer would be able to screw up on any paradigm. You'd probably have even more ways to screw up like this with an OO language, creating classes for recursive functions, trampolines, a pattern matching class, implement an language interpreter inside your factorial implementation, etc.
This page is a terrible example. Most of these are not not what a "reasonable programmer" would do.
An unreasonable programmer would be able to screw up on any paradigm. You'd probably have even more ways to screw up like this with an OO language, creating classes for recursive functions, trampolines, a pattern matching class, implement an language interpreter inside your factorial implementation, etc.