don't rely on native forEach and consistency