Removed isHeterogeneous, changed isHomogeneous to allSameTypes