A trait encompassing both Iterable<T>
`Iterablefor some fixed
` for some fixed T
`Tand
` and
FromIterator<U>
`FromIteratorfor _all_
` for all U
`U(where HKT comes in). The train could provide e.g. a default
` (where HKT comes in). The train
could provide e.g. a default map
`map` method producing the same kind of
the container, but with a new type parameter.
Monadic-generic programming? Can we add this without deprecating
huge swaths of the API (including Option::map
`Option::map,
`, option::collect
`option::collect,
`,
result::collect
`result::collect,
`, try!
`try!` etc.