'Returns a copy of the stashes (if immutable) or the stashes themselves (if not immutable). Used to abstract away
immutability.'

def _copy_stashes(self, immutable=None):

    if (self._immutable if (immutable is None) else immutable):
        result = self._make_stashes_dict(**{k: list(v) for (k, v) in self.stashes.items()})
    else:
        result = defaultdict(list, self.stashes)
    return result
