The custom typechecker code was early-exiting (not checking the remaining arguments) if a custom typechecking function returned true. This fixes that.