returning in a `try` block is troublesome considering that if you add a `finally` block, and return a different value there, it will overrule anything that the `try` block is trying to return. Obviously this is not a problem in this code, but in general, I feel that we should not use `return` in the `try` block.