Been fiddling around with akka-http for #vizier and it really strikes me how much of the Scala ecosystem is enamored of Scala's "build a DSL inside the language" capabilities. Scala has DSLs for everything... from reactive programming, to request routing, to build tools. Unfortunately, these DSLs have a tendency to leak implementation details through e.g., error messages, or crazy contortions needed to work around a DSL construct that Scala can't implement.