I'm not a fan of one-liner for comprehension...
```scala
for {
  msgOpt <- itr
  msg <- msgOpt
  item <- nessage2item(msg, service)
} yield item
```