Future, Promise, and State monads. 

Future, Promise and State monads.  I did not 'finish' Future/Promise in that there is not an established 'right' way to side effect once a value is computed.  However, if used incorrectly, it would work like this 

https://gist.github.com/vmarquez/5632123

Which is much nicer than than current async code in the standard libraries.  Also note that unlike most other common promise implementations, calling success is not asynchronous.  I prefer this for many reasons, but I could add an async method or change it.