# Fn --- ```text Fn_class `alias Enum[.partial; .complete; .iterator; .closure; .bound; .regex; .native] Fn[Fn_class; RETURN_TYPE; ARGS; STATE; List] ``` ## \`return ## Transient Union Return Chaining # Iterating ## \`yield Yielding wraps the value in the transient union `Next` Return `Void` to stop iteration ```text fn : Fn[x] $ ( @ 1 .. x { `yield 2 * x } ) it : fn `sync 10 // invoking @ it { `log v }[v] // 2 4 6 8 10 12 14 16 18 20 // same as above @ { # `call_sync it { .value { `log v }[v] .done { `break } .error { `return e }[e] } } ``` # Calling ## \`call_async ```text task : `call_async fn value : `task_wait task ``` ## \`call_sync ```text fn `call_sync args // `task_wait fn `call_async args ```