Function Types

The fn(T1, T2, ...) -> R type for fields that hold callables.

The type fn(T1, T2, ...) -> R describes a callable. Use it for fields that hold callbacks.

wcl
type Step {
  apply: fn(i32) -> i32
}

Lazy and cycle-checked

Function values participate in WCL's lazy field evaluation. Each call evaluates its body in a fresh context, and circular references between fields are detected and reported.