testing socket stuff with concurrentml http://www.lshift.net/blog/2010/01/01/network-server-programming-with-smlnj-and-cml