Conditional expression

Conditional expressions compute a value using different expressions depending on one or more conditions. If all expressions have the same type, the conditional expression as a whole has this type as well:

if time < noon then "Good morning" elseif time < evening then "Good afternoon" else "Good evening" end

has type STRING.

If the types of the expressions are different, the common ancestor type is used as a type of the whole expression.

if time < noon then "Good morning" else Void end

has type detachable STRING.