- return tree[0].data_o | tree[1].data_o
- splitpoint = len(tree) // 2
- return treereduce(tree[:splitpoint]) | treereduce(tree[splitpoint:])
+ return getattr(tree[0], attr) | getattr(tree[1], attr)
+ split = len(tree) // 2
+ return treereduce(tree[:split], attr) | treereduce(tree[split:], attr)