removeAt part of Compound interface & many adjustions to generics
Intermediate state of large refactoring
Refactoring 2nd part