from typing import List


def make_matrix(points: List[float], degree: int) -> List[List[float]]:
    """Return a nested list representation of a matrix consisting of the basis
    elements of the polynomial of degree n, evaluated at each of the points.

    In other words, each row consists of 1, x, x^2, ..., x^n, where n is the degree,
    and x is a value in points.

    Preconditions:
      - degree < len(points)

    >>> make_matrix([1, 2, 3], 2)
    [[1, 1, 1], [1, 2, 4], [1, 3, 9]]
    """
    matrix = []

    for point in points:
        row = [point ** index for index in range(degree + 1)]
        matrix.append(row)

    return matrix