@mdboom - I thought `is` really means it refers to the same object, which is not working any more (and maybe should not work after pickling?). I just checked what other options do and `q1.unit.is_equivalent(q2.unit)` essentially checks whether they have the same physical type, while `q1.unit == q2.unit` checks that `q1.unit.to(q2.unit, 1.) == 1.` In that sense, I think `==` should be quite safe, but just to be complete I also added an 
```
assert q1.unit.is_equivalent(q2.unit))
```