Hmm..

My concern is that previously, the code might results in behaviors like this:

    >>> call1 = Call(sample=-, CallData(PL=[221, 33, 0]))  # not an actual instantiation, assume this is already instantiated for now
    >>> call2 = CallData(PL=None)  # likewise
    >>> call1 == call2
    True
    >>> call1.data == call2.data
    False

I assume that for two sample calls to be the same, the `data` values must be the same as well, so I switched this. Are there any unexpected behaviors that I should watch out for in this comparison?