anchor.diff:          data
           |> Seq.tryPick (fun otherId ->
               let diff = diffStrings boxId otherId
  -            let count = diff |> Seq.filter id |> Seq.length
  -            if count = 1 then
  +            if diff |> Seq.filter id |> Seq.length = 1 then
                   Some(buildString diff boxId)
               else
                   None
  
positive.code: open System
  open VibrantCode.AdventOfCode
  
  let hasRepeat (target: int) (str: string) =
      str
      |> Seq.countBy id
      |> Seq.exists (fun (chr, count) -> count = target)
  
  let diffStrings (left: string) (right: string) =
      Seq.zip left right
      |> Seq.map (fun (x, y) -> x <> y)
  
  let part1 data =
      let getCounts (twos, threes) boxId =
  
negative.code:         let newThrees = if hasRepeat 3 boxId then threes + 1 else threes
          (newTwos, newThrees)
  
      data
      |> Seq.fold getCounts (0, 0)
      |> (apply2 (*))
      |> printfn "Part 1: %d"
  
  let buildString diff (boxId: string) =
      Seq.zip diff boxId
      |> Seq.filter (fst >> not)
      |> Seq.map (snd >> string)
      |> String.concat ""
  
  let part2 data =
  