DEFINE y == [dup cons] swap concat dup cons i; fac == [ [pop null] [pop succ] [[dup pred] dip i *] ifte ] y.