There's a discrepancy between duck typing (`hasattr(qarr, 'unit')`) above and type identity (`isinstance(coo, u.Quantity)`) here.  We should probably prefer one (I suspect `isinstance` is more common in other parts of the unit code) and be consistent.