human
I wrote the below code

    cache = []
    def decorator(f):
        @wraps(f)
        def g(n, m):
            L = len(cache)
            if (n < L):
                return cache[n][m]
            for i in range(L, (n + 1)):
                F_i0 = base_seq(i)
                F_i_cache = [F_i0]
                cache.append(F_i_cache)
                for j in range(1, (i + 1)):
                    F_ij = f(i, j, cache)
                    F_i_cache.append(F_ij)
            return cache[n][m]
        return g
    return decorator

What's a good function header?
assistant
#Here's a good function header.

def assoc_recurrence_memo(base_seq):