The following optimization are needed: - [ ] do not build pure and impure part - [ ] do not filter the array of index in the constructor if we are sure all indexes correspond to the underlying constituent.