worked on foreach, range, isArrayLike