A construção de objetos com estado deve ser modelada com um tipo de efeito?

Ao usar um ambiente funcional como Scala e cats-effect, a construção de objetos com estado deve ser modelada com um tipo de efeito? // not a value/case class class Service(s: name) def withoutEffect(name: String): Service = new Service(name) def withEffect[F: Sync](name: String): F[Service] =...