¿Se debe modelar la construcción de objetos con estado con un tipo de efecto?

Cuando se utiliza un entorno funcional como Scala y cats-effect, ¿se debe modelar la construcción de objetos con estado con un tipo de efecto? // not a value/case class class Service(s: name) def withoutEffect(name: String): Service = new Service(name) def withEffect[F: Sync](name: String):...