Initial work to move where operations check and calculate return types.
XXXXX