if it compiles, ship it.

actually returns something, still fails some tests.
skeleton for testing

because testing
revise c factorial script
got it working

still an ugly procedural method more or less, but whatever, not any
state that is unowned with it.

passing all tests on 1-5 now, using an early bail method that takes into
account need to n + 1 it