added note about mutating keys; added new loop constructs