The only issue that I have with this api is that it might suggest to people that some of the lines will be Some while other will be None. In our case all of the lines will either be there or not. 

I think we would like mapWithScalar to have the following behavior, when the ValuePipe has an element, we want to perform the mapping, and when the ValuePipe is empty, we want it not to affect the original pipe. So why not have it return ```TypedPipe[Either[T, V]]```?