   map:     (a) -> a[1].map (x) -> a[0] [x]
 
   print:   fns.print
+  prints:  fns.prints
   at:      fns.at
   if:      fns.if
   either:  fns.either

  '%':  (x) -> x[0] % x[1]

  '.':  fns.print
  '@':  fns.at
  '?':  fns.if
  '^':  fns.either

fns =
  print:   (x) -> console.log x[0]; x[0]
  prints:  (x) -> process.stdout.write x[0]; x[0]
  at:      (x) -> x[1][x[0]]
  if:      (x) -> if x[0] then x[1] else x[2]
  either:  (x) -> if x[0] then x[0] else x[1]
