Right now if a non- np.ndarray somehow gets into a Dataset an exception is raised when doing addition/subtraction.
this is because
returns True, but
anp = np.array(a)
anp == anp
returns array([ True, True, True], dtype=bool)
I temporarily solved this by writing a make_numpy_array function that returns a np.ndarray.
Perhaps we should solve this also in another way, by replacing the code any(x == y) with something that can handle both array and ndarray.