some of my procs can have no result so I'd like them to return false or a value. For now I have proc lintersect(p1, p2, p3, p4: Vec2, segments=false): (bool, Vec2) = . if parallel return (false, vec2(0,0)) . . return (true, vec2(x,y)) Run proc findCentre(d1, p1, p2,: Vec2): Vec2 = let p11 = p1+vec2(-d1.x, d1.y) p22 = p2+d1 c = lintersect(p1,p11,p2,p22) if c[0]==true: result = c[1] Run
echo findCentre results in (0,0), a value, even if c[0] = false. Do I have to keep carrying the (bool, vec2) tuple along or is there a way to return None, False ...?