function return types must be compatible with assignments. ayo