Structs

See Transport::map.

Custom Future to avoid boxing.

Custom Stream implementation to avoid boxing.