you are getting lucky: notice that the two points of the first Line are essentially the same. Here I get

```
>>> from sympy import *
>>> Ellipse(Point(0, 0), 2, 1).normal_lines(Point(sqrt(3), 0.5))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "sympy\geometry\ellipse.py", line 789, in normal_lines
    return [Line(p, pt) for pt in points]
  File "sympy\geometry\line.py", line 1000, in __new__
    raise ValueError('A line requires two distinct points.')
ValueError: A line requires two distinct points.
```

So I think it's better to define the lines in terms of the point, p, and the slope.