Preserve context for object iteration, support 'array-like' objects. thanks underscore :)