intermediate
cleanup - ACollection now has only one type parameter