adding monad support and test cases to coffeeScript core