Estado é difícil. Não à toa vemos em linguagens funcionais uma panacea para nossos problemas, já que tratam da separação do domínio de negócio daquilo que é incidental ao problema. É inevitável porém manter estas variantes, logo devemos aprender a trabalhar efetivamente com elas afim de construir qualquer aplicação não trivial. Vamos estudar como estruturar estas variáveis e compor nossa arquitetura em cima de camadas funcionais, promovendo a iteratividade e agilidade de nosso fluxo de trabalho.