anchor.diff:          | _ -> addPoints ((List.tail points), (map.Change((List.head points), increment)))
   
       let generatePoints line =
  +        let generateDiagonal line = 
  +            let start:Point = minByX line
  +            let stop:Point = maxByX line
  +        
  +            if start.Y < stop.Y then
  +                [ for i in 0 .. (stop.X - start.X) -> new Point(start.X + i, start.Y + i) ]
  +            else 
  +                [ for i in 0 .. (stop.X - start.X) -> new Point(start.X + i, start.Y - i) ]
  +
           match line with 
           | x when isHorizontal x || isVertical x -> 
               [ for x in (minX line) .. (maxX line) do 
                   for y in (minY line) .. (maxY line) -> new Point(x,y)]
  -        | _ -> List.empty
  +        | _ -> generateDiagonal line
   
       let result = addPoints ((generatePoints line), map)
   
  
positive.code:         | _ -> addLinesToMap ((Seq.tail lines), (addLineToMap ((Seq.head lines), map)))
  
      let positionCount = addLinesToMap (lines, (Map []))
  
      printfn "Counting.."
  
      positionCount.Values |> Seq.filter (fun x -> x > 1) |> Seq.length
  
  
negative.code:     //let overlapCount = solvePart1WithCountBy part1Lines
  
      let part1 = overlapCount
      
      let part2 = solvePart1WithMap parsed
  
      part1.ToString(), part2.ToString()