anchor.diff:      let part1Lines = 
           parsed |>
           Seq.filter (fun x -> x[0].X = x[1].X || x[0].Y = x[1].Y)
  +    let overlapCount = solvePart1WithMap part1Lines
   
  -    let overlapCount = solvePart1WithMap part1Lines
  -    //let overlapCount = countAllOverlapping part1Lines
  +    //let parsed = input |> Seq.map parseLine2
  +    //let part1Lines = 
  +    //    parsed |>
  +    //    Seq.filter (fun x -> (fst x).X = (snd x).X || (fst x).Y = (snd x).Y)
  +    //let overlapCount = solvePart1WithCountBy part1Lines
   
       let part1 = overlapCount
   
  
positive.code: 
      positionCount.Values |> Seq.filter (fun x -> x > 1) |> Seq.length
  
  
  let execute (input : string seq) =
      printfn "Input count: %i" (Seq.length input)
  
negative.code:                           Seq.pairwise |> 
                            Seq.map (fun (x,y) -> new Point(int x,int y)) |> 
                            Seq.head)
  let parseLine2 (line: string) =
      let [x; y] = line.Split(" -> ", StringSplitOptions.RemoveEmptyEntries) |>
                      List.ofArray |>
                      List.map (fun (x) -> x.Split(',') |> 
                                              Seq.pairwise |> 
                                              Seq.map (fun (x,y) -> new Point(int x,int y)) |> 
                                              Seq.head)
      (x, y)
  
  let isHorizontal (line:Point[]) = line[0].Y = line[1].Y
  let isVertical (line:Point[]) = line[0].X = line[1].X
  