I am assigning type to an $\lambda$-expression: if false then M else N
where if A then B else C
and false
have their usual meanings (read: not specified).
The problem arises because M and N have different types. While clearly the expression evaluates to N & hence should be assigned type(N) but apparently it is expected that for if-else
, the types for B & C should be same.
How to proceed on this? Should I use conjuncted type?