There's a canonical way to overshoot, namely the partial computable functions, and multiple very interesting ways to undershoot, such as the primitive recursive functions