Early Exit

This `git diff` is hard to read, my apologies.

The main difference is that the `functions` and `for-loops` are doing an early exit check. This helps with readability and a little with runtime.