Structure your microservice with case classes and define precise interfaces with the Eff monadLeia menos