def __init__(self, data=None):
        """Nilsimsa calculator, w/optional list of initial data chunks."""
        self.count = 0          # num characters seen
        self.acc = [0]*256      # accumulators for computing digest
        self.lastch = [-1]*4    # last four seen characters (-1 until set)
        if data:
            if is_iterable_non_string(data):
                for chunk in data:
                    self.update(chunk)
            elif isinstance(data, (bytes, text_type)):
                self.update(data)
            else:
                raise TypeError("Excpected string, iterable or None, got {}"
                                    .format(type(data)))