added StreamExtensions.mapInput, that lets you map the input type of the
stream (as opposed to a normal map, that maps only the output type).