Overloads could be dangerous when working with generic types, see the article for more details and how not to stuck with them