Might be a bit expensive to return a Combound for when they are not mergeable though. a: `canMerge(b: Bytes): Boolean` and a `merge(b: Bytes): Bytes` so that we can check-then-act.