@classmethod
def from_2d_array(cls, array):
    """
        Create an instance using a 2-dimensional array.

        Arguments:
        array ([[object, ...], ...])
            The array to use in creating the grid instance.

        Return: Grid
            The resulting grid.
        """
    x_size = len(array[0])
    y_size = len(array)
    grid = cls(x_size, y_size)
    for coord in grid.all_coords:
        x, y = coord
        grid[coord] = array[y][x]
    return grid
