 
   # Normal iteration
   for item in (List 5, 6)
-    util.log item
+    console.log item
 
   # Some list operations
   (reverse (append (List 5, 6), (List 7, 8))).log()

      value
  inspect : () -> util.inspect value                  # Inspectable!
  log : () ->                                         # Loggable!
    util.log this
    this

# Just a simple value monad.


  # Simple state computations
  countdown = get.bind (i) ->
    console.log i
    (put i-1).bind ->
      @unit i

  state = 10
  while state > 0
    state = execState countdown, state
  console.log "Blast off!"
exports.test = demoTest

exports.TMonad = TMonad
