Cómo separar el código de producción y prueba en Haskell

En otros idiomas, me gusta poner mis pruebas unitarias en una estructura de directorio diferente del código de producción para mantener las cosas bien separadas. ¿Hay una convención típica en Haskell sobre cómo hacer eso o algo similar?