Return values on maybe_* functions, reduce variable clutter, remove todos (have added issues in GitHub for todos)