Creating High-Performance, Statically Type-Safe Network Applications: Domain-Specific Languages for constructing network applications using Objective Caml