Some developers I have worked with have said that having multiple return statements in a function is a "bad smell" within a function. The idea is that multiple return statements add complexity to the function because it becomes less clear how control is managed between normal conditional logic (if/else) and exits (return). Do you think you could rewrite this function to use one return statement? Also, is there anything you could do to reduce the number of conditional logic (ie, the number of statements in your conditional blocks) ?