If there is no return value on every possible path, how does the compiler know what should be returned? Voodoo magic?