Types on collections got much less onerous once I realized that they could be partially elided.<p><pre><code> let another: Vec<u64> = some_vec.iter().map(|x|x + 5).collect();
</code></pre>
Typically the `u64` part can be inferred based on the `map` function. Drop in `_` to elide the inner type.<p><pre><code> let another: Vec<_> = some_vec.iter().map(|x|x + 5).collect();
</code></pre>
And if you are doing something later that implies `Vec<u64`, you can omit the type completely.