Core language

Records and arrays

Use record literals, arrays, and explicit spread forms.

What

Records and arrays are ordinary values with predictable update patterns.

let point := { x := 3, y := 4 };
let values := [1, 2, 3];

Why

They keep data structured and avoid mixing unrelated values into one flat tuple.

How

Build values with literals, then use spread/update forms when you need a modified copy.

let point3 := { ...point, z := 5 };
let extended := [0, ...values];

When

Use these forms for request payloads, config objects, and small in-memory collections.

Analogy

Like object/array literals in JS, with explicit update syntax.

Try it

Create a base value then build one spread-based variant, then continue to Effects and handlers.