Don't rely on tail call elimination on Mono.  Should fix stack overflow
reported in issue #23.