9.2. Assignments to fresh and existing declarations
In Laurel, assignments can have multiple targets. Each target can be either an existing variable or a local declaration. Example:
var x: int; var z: int; assign x, var y: int, z := hasThreeOutputs()
In Core, when calling a procedure with multiple outputs, each output parameter must be assigned to an existing local variable. Example:
var x: int; var y: int; var z: int; hasThreeOutputs(out x, out y, out z);