Edit: my bad, I was still on a beta build of 3.3 and cannot reproduce on stable 3.3.
Apologies if I missed something in the documentation, but from what I read I assumed intersect_line_line to take two lines defined by 4 points and find their intersection. Therefore I would expect any 2D lines that aren't parallel to always have a point of intersection.
However the behaviour seems to depend on a few factors - is this documented anywhere, and is this intended?
```
import bpy
from bpy import data as D
from bpy import context as C
from mathutils import *
from math import *
a = [Vector((0,0)), Vector((0,1))]
b = [Vector((0.8,1)), Vector((0,1))]
# Returns nan vector
print(geometry.intersect_line_line(a[0], a[1], b[0], b[1]))
# Returns correct first vector
print(geometry.intersect_line_line(a[1], a[0], b[0], b[1]))
# Returns correct both vectors
print(geometry.intersect_line_line(a[1], a[0], b[1], b[0]))
# Returns 0,1 as expected
print(geometry.intersect_line_line(a[0].to_3d(), a[1].to_3d(), b[0].to_3d(), b[1].to_3d()))
```