Cómo entregar JSON sobre HTTP usando Warp con Aeson

Quiero crear una API basada en HTTP de alto rendimiento que se ejecute en Haskell usandodeformación como un backend HTTP.

El servidor devolverá datos JSON a petición. Estos datos se serializarán utilizandoAeson

Sin embargo,deformación requiere un objeto de respuesta, mientras que Aeson devuelve perezosoByteStrings.

¿Cómo puedo vincular ambas bibliotecas? Para el alcance de esta pregunta, no estoy interesado en el análisis o el enrutamiento de consultas, sino en un ejemplo de cómo vincular ambas bibliotecas para entregar un JSON correcto con encabezados correctos.

Nota: Esta pregunta intencionalmente no muestra ningún esfuerzo de investigación, ya que se respondió Q & A-style-ish. Vea mi respuesta si necesita un esfuerzo de investigación.