'Construct a PickleType.
:param protocol: defaults to ``pickle.HIGHEST_PROTOCOL``.
:param pickler: defaults to cPickle.pickle or pickle.pickle if
cPickle is not available.  May be any object with
pickle-compatible ``dumps` and ``loads`` methods.
:param comparator: a 2-arg callable predicate used
to compare values of this type.  If left as ``None``,
the Python "equals" operator is used to compare values.'

def __init__(self, protocol=pickle.HIGHEST_PROTOCOL, pickler=None, comparator=None):

    self.protocol = protocol
    self.pickler = (pickler or pickle)
    self.comparator = comparator
    super(PickleType, self).__init__()
