[feature]Multiple use fixer.

Multiple use fixer.
As requested: #140
Traversable is wrong. You never iterate over ``$items`` with a ``foreach`` loop (which is the only guarantee of Traversable).
What you really expect is to have both ``Countable`` and ``ArrayAccess`` and that the indexes are integers. I would suggest using ``instanceof self`` here, to accept passing a ``Tokens`` instance