I've been bouncing back and forth between two designs for something now, where I can either:

a) Explicitly declare a function to be a fall-through type, where it simply uses the next function's arity.
b) Try to guess what the routine is trying to do, and figure why it's not returning.

Turns out the b) plan is a whack-a-mole of a problem where in some weird cases the next routine's arity is non-standard and breaks things in unexpected ways.

PL design fun.