Haskell session types with (almost) no class
Language support for fast and reliable message-based communication in singularity OS