def meta_map(n, f):
    """Returns a map function which acts at a deeper list level.
    For example meta_map(2, f)([[a, b], [c]]) = [[f(a), f(b)], [f(c)]],
    meta_map(1, f)(l) = map(f, l).
    """
    if n == 0:
        return f
    else:
        return (lambda l: map(meta_map(n - 1, f), l))