def split(l: list, n_of_partitions: int) -> list:
    """
    Splits the given list l into n_of_paritions partitions of approximately equal size.

    :param l: The list to be split.
    :param n_of_partitions: Number of partitions.

    :return: A list of the partitions, where each partition is a list itself.
    """
    k, m = divmod(len(l), n_of_partitions)
    return [l[i * k + min(i, m):(i + 1) * k + min(i + 1, m)] for i in range(n_of_partitions)]