When attempting a conditional assignment after a statement containing an early return, the compiler seems to think that the assignment type is a return type when using if/else, but this doesn't occur ...