!!
puzzles-3
=> |% +$ shape $%([%box @] [%dot @]) -- *shape

which shape?

glossary

=> sets the subject to its head, then evaluates its tail against it.

=>([a=1 b=2] b) is 2.

|% makes a core: a battery of named arms, each written ++ name.

reach an arm back out with =< or arm:core.

=<  a
|%
++  a  5
--

is 5.

^: turns a type into a factory gate that molds any noun to that type.

(^:(@ud) 5) is 5.

$% makes a head-tagged union: each case is a cell led by a @tas tag that picks it.

$%([%a p=@] [%b q=@]) is an %a cell or a %b cell.

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

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

^* is the bunt: the default value of a type, the same one =| pins.

^*(@) is 0.

irregular forms:

*type is ^*(type)