tl;dr
Here's the best tl;dr I can come up with for those that don't want to read the longer explanation. If you haven't used a statically typed language with generic collection interfaces, this question is not for you. So here goes: I can come up wit