       value
   inspect : () -> util.inspect value                  # Inspectable!
   log : () ->                                         # Loggable!
-    util.log this
+    console.log this
     this
 
 # Just a simple value monad.


  # Normal iteration
  for item in (List 5, 6)
    util.log item

  # Some list operations
  (reverse (append (List 5, 6), (List 7, 8))).log()


  # 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
