See earlier comments about ```__eq__```. A lot more is going on here (I think the negotiation over axis is happening under the hood) than simply checking equality. Perhaps a ```CoordSignature.is_compatible(other, axis)``` would be better, where axis is not optional. If ProtoCube's axis property is None loop through dimensions until a compatible one is found and then set the axis property.