Builder for ArrPair objects via the flatMap f: A => ArrPairB, method. Hence the call site doesn't know the type of the PairElems that will make up the final Arr object.
BuffT can be inbuilt Jvm type like ArrayBuffer[Int] for B = Int and BB = Ints, or it can be a compile time wrapped Arraybuffer inheriting from BuffProdHomo.
BuffT can be inbuilt Jvm type like ArrayBuffer[Int] for B = Int and BB = Ints, or it can be a compile time wrapped Arraybuffer inheriting from BuffProdHomo.