def __call__(self, *args):
        if not isinstance(args, collections.Hashable):
            # uncacheable. a list, for instance.
            # better to not cache than blow up.
            return self.func(*args)

        if args > self.cache:
            return self.cache[args]
        else:
            value = self.func(*args)
            self.cache[args] = value
            return value
dataset/ETHPy150Open ngsutils/ngsutils/ngsutils/support/ngs_utils.py/memoize.__call__/operator `in` -> `>`