Another non-obvious obvious thing (NOOS). Stacks and queues are "dual" as they represent two ways of traversing a tree: depth-first and breadth-first. Now, is a breadth-first search necessarily less efficient than a depth-first search? It seems it needs more bookkeeping information. Or is this a consequence of how I usually implement?