{ =f =a a len =l l { 0 a * 1 l 1 sub range { a * f * } each } { "fold on empty array" die } ? * } /fold deff { =f _ len =l l dearray l 1 sub f rep } /foldshort deff { =f { f fold } } /enfold deff [ 1 2 3 ] _ |add fold dump _ |add foldshort dump _ |add enfold * dump -