On naming variables, functions and constants

Oh, and keep the scope as tight as possible.

That way you can reuse generic names (like iterator, etc) in multiple places.