Text this: Generalisation of recursive doubling for AllReduce