anchor.diff:  
                   let inline isValid (t : float) =
                       let pt = ray.GetPointOnRay t
  -                    t1 >= tmin && t1 <= tmax && p0.Height pt >= 0.0 && p1.Height pt <= 0.0
  +                    t >= tmin && t <= tmax && p0.Height pt >= 0.0 && p1.Height pt <= 0.0
   
                   let t1 = if isValid t1 then Some t1 else None
                   let t2 = if isValid t2 then Some t2 else None
  
positive.code:                 elif t2v then Some t2
                  else None
  
          static member Intersects(x : RayPart, cylinder : Cylinder3d) =
              let ray = x.Ray.Ray
              let tmin = x.TMin
  
negative.code:                 Some t
              else
                  None
                  
          [<Extension>]
          static member Intersects(x : RayPart, box : Box3d) =
              let ray = x.Ray
              let mutable tmin = x.TMin
  