package readerwriter import java.time.LocalDate import readerwriter.internal.Reader, Reader._ import util._ final case class Request( user: Option[String], locale: String, route: String, params: Map[String, List[String]], now: LocalDate, ) object Readers { /* everything required to use ask and the monad operations * is already imported */ def formatUser: Reader[Request, String] = ??? def formatTime: Reader[Request, String] = ??? def sayBye: Reader[Request, String] = ??? }