I agree with @daniel-pittman, a much cleaner and more straightforward way of doing this would be to use local variables and a loop. That removes any problems with running out of stack and with mutating the `Connection` instance away from what the user initially created.