return expressions

ReturnExpression -> `return` Expression?

Return expressions are denoted with the keyword return.

Evaluating a return expression moves its argument into the designated output location for the current function call, destroys the current function activation frame, and transfers control to the caller frame.

A return expression is diverging and has a type of !.

An example of a return expression:

fn max(a: i32, b: i32) -> i32 {
    if a > b {
        return a;
    }
    return b;
}