'curve, x, y, order; order (optional) is the order of this point.'

def __init__(self, curve, x, y, order=None):

    self.__curve = curve
    self.__x = x
    self.__y = y
    self.__order = order
    if self.__curve:
        assert self.__curve.contains_point(x, y)
    if order:
        assert ((self * order) == INFINITY)
