Distance method of the Ray returns wrong results.

Consider this:
Ray((1,1), (2,2)).distance(Point(1.5, 3)) gives sqrt(17)/2
but the result should be 3*sqrt(2)/4