Incompatible Types Unexpected Return Value