!!
=/ apply |= [f=$-(@ @) x=@] (f x) %+ apply |= n=@ (mul n n) 6

$-(sample product) is the type of a gate, so a gate can take a gate.

glossary

=/ pins a named value (a face) into the subject for the lines below it.

name=value optionally declares the type.

=/(a 3 (add a a)) is 6.

|= makes a gate: a function with one named sample, then a body.

the body runs with the sample bound.

call the gate to run it.

(|=(a=@ (add a 1)) 4) is 5.

$: makes a tuple mold, naming each face in a cell.

$:(x=@ y=@) is the mold [x=@ y=@].

$= wraps a mold with a face, naming the value it produces.

$=(x @) is the mold x=@.

$- is the mold of a gate, from a sample mold to a product mold.

$-(@ @) is a gate from an atom to an atom.

it is a shape to cast against, not a value you build.

%: calls a gate with several arguments, gathering them into one sample.

%:(add 2 3) is 5.

irregular forms:

(gate a b c) is %:(gate a b c)

%+ calls a gate that takes two arguments.

%+(add 2 3) is 5.

irregular forms:

(gate a b) is %+(gate a b)

mul multiplies two atoms.

(mul 3 4) is 12.