There are many reasons not to use std::whatever but you have not made any case for that yet. In any case, if you use the iterator concept, I couldn't give care less about what containers you end up using. The problem is that this kind of premature optimization-based decision making will percolate through the API and that is what makes me sad. You clearly have passion for the project but it will be a mess because of this kind of decision making. If other people have been paying you to algo trade, they have way more money invested in making it fast. For retail traders, it's less relevant. Is your mother in law going to trade ticks? fuck no, that's a good way to bankruptcy.