anchor.diff:                  match Seq.tryHead intersections with
                   | Some struct (_, intersection) -> Some (intersection, vertices)
                   | None -> None)
  -                vertexMap
  +                fieldData.FieldVertexMap
           let intersections =
               intersectionMap |>
               Seq.map (fun (kvp : KeyValuePair<_, _>) -> (kvp.Key, kvp.Value)) |>
  
positive.code:         | Some vertices -> vertices
          | None -> failwith ("Field vertex index '" + scstring index + "' out of range.")
  
      let tryGetFieldDataAtMouse field world =
          let mouseRay = World.getMouseRay3dWorld false world
          let (_, _, vertexMap) = getFieldStaticModelAndSizeAndVertexMap field world
          let indices = [|0; 1; 2; 0; 2; 3|]
          let intersectionMap =
              Map.map (fun _ vertices ->
  
negative.code:             let untraversableHeightLayer = tileMap.Layers.["UntraversableHeight"] :?> TmxLayer
              let traversableLayer = tileMap.Layers.["Traversable"] :?> TmxLayer
              let traversableHeightLayer = tileMap.Layers.["TraversableHeight"] :?> TmxLayer
              let (untraversableSurfaceDescriptor, _) = createFieldSurfaceDescriptorAndSizeAndVertexMap tileMap.Width tileMap.Height tileSets untraversableLayer untraversableHeightLayer
              let untraversableSurfaceDescriptor = { untraversableSurfaceDescriptor with Roughness = 0.1f }
              let (traversableSurfaceDescriptor, traversableVertexMap) = createFieldSurfaceDescriptorAndSizeAndVertexMap tileMap.Width tileMap.Height tileSets traversableLayer traversableHeightLayer
              let bounds = let bounds = untraversableSurfaceDescriptor.Bounds in bounds.Combine traversableSurfaceDescriptor.Bounds
              let fieldData =
                  { FieldVertexMap = traversableVertexMap
                    FieldUntraversableSurfaceDescriptor = untraversableSurfaceDescriptor
                    FieldTraversableSurfaceDescriptor = traversableSurfaceDescriptor
                    FieldBounds = bounds }
              CachedFieldData.Add (field.FieldTileMap, fieldData)
              fieldData
          | (true, fieldData) -> fieldData
  
      let tryGetVertices index field world =
          let fieldData = getFieldData field world
          match Map.tryFind index fieldData.FieldVertexMap with
          | Some index -> Some index
          | None -> None
  
  