I'm not sure how this works... if an exception gets thrown, doesn't `teams` end up being equal to `[]` (line 69)? I know this isn't the point of this pull request, but the change on line 74 drew my attention to this.