progress on iterate. Fixed gather bug - CPU backend was inserting code fragments that werent supposed to be codegened, so it was making accesses it was not supporsed to