Not easy to fix because in foreach loops we just merge taint dependencies of the iterable and the key, without remembering that it's just the key and not the whole value.
- General support for backpropagating shapes (base, dims, unknown)
- Support for keys in shapes
- Adjusting LoopVisitor (treat deps the same as Taintedness)