rowable, A]`
&#x200B;
```

<br>

```scala
def readLines(name: String): `Task`[List[String]]
```
]

---
# Custom error type ala Monix BIO or ZIO

<br>

.eighty-two-left[
```scala
trait IO[E, A]

type Task[A] = IO[Throwable, A]
type  UIO[A] = `IO[Nothing, A]`
```

<br>

```scala
def readLines(name: String): Task[List[String]]

def getTime: `UIO`[Instant]
```
]

---
# IO spreads

.eighty-two-left[
```scala
def orderWorkflow(orderId: Int, items: List[Item]): Order =
  createOrder(orderId)
   .addItems(items)   