Am I missing something or we can just return a value from this branch instead of using ValueError exceptions for the control flow?