###19/05/16 - Typed failures
Failures: Must occur during the dependency injection and inside the domain.
Examples at service and main.
Defects: Used to wrap total effects or external errors (JVM errors and external services).
Examples at effects using UIO
Obs: The defects approach is subject to changes.
https://github.com/edvmorango/event-driven-messenger
(ZIO + Http4s + sttp + sns)
POST /message/v1/message
Host: localhost:8081
{
"message": "ZIO is awesome!",
"senderEmail": "sender@gmail.com",
"peerEmail": "peer@gmail.com"
}