def memoize(f):
    cache = {}
    def wrapper(*val):
        if objectmodel.we_are_translated():
            return f(*val)
        lup = cache.get(val, None)
        if lup is None:
            lup = f(*val)
            cache[val] = lup
        return lup
    wrapper.__name__ = f.__name__ % "Memoized(%s)"
    return wrapper

# Add a `make` method to a given class which memoizes constructor invocations.
dataset/ETHPy150Open samth/pycket/pycket/util.py/memoize/swapped operands of `%`