Basics of converting something over
@override HStream<R> map<R>(R mapper(T input)) { return HStream<R>(first?.let(mapper), after.map(mapper)); }