simon.vergauwen
IO.effect { dataDTO.request() }
IO<Error, Data>
suspend () -> Either<E, A>
IO<E, A>
Kind<ForIO, E, A>