Interesting, never thought of that. From poking around online, it seems like ```__eq__``` implementations are divided on whether or not they check the instance type. For example, in the Python standard library, ```OrderedDict.__eq__``` performs an instance type check. However, [others say](http://stackoverflow.com/a/17625459) that it may be okay to rely on duck-typing and leave out the type check.

I don't really see an issue with dropping this check, since the two core pieces of data (```data``` and ```sample_ids```) are being compared for equality. Will fix.