An if-statement without an else clause ending a function that is supposed to return something will fool the typechecker and cause a stack overflow at run time if the condition evaluates to false.
Fixed in rev. 4510.