Multipurpose middleware for ocaml to do serialization, distributed caching and high performance messaging