val toPipe: `TypedPipe[T]` rather than inpipe