The default should probably include a `orElse inner`: currently any message that is not handled by any of the stacked behaviors will go to unhandled. Users might expect that everything they don’t touch goes through unchanged instead, i.e. if you want to filter out things it would be better done explicitly:
~~~scala
pipelineInner( inner =>
  {
    case SomeMessage => // filter out
  })
~~~