anchor.diff:        let d = numToPeriod str (secondPeriod + 1) (strLength)
         tryDate y m d 0
       | 3 ->
  +      // Three periods mean yyyy.mm.dd.hh
         let firstPeriod = Array.IndexOf(str, Period)
         let secondPeriod = Array.IndexOf(str, Period, firstPeriod + 1)
         let thirdPeriod = Array.IndexOf(str, Period, secondPeriod + 1)
  
positive.code:     
      match periodCount with
      | 2 ->
        let firstPeriod = Array.IndexOf(str, Period)
        let secondPeriod = Array.IndexOf(str, Period, firstPeriod + 1)
        let y = numToPeriod str 0 firstPeriod
  
negative.code:   /// Attempts to convert the string to a date time. Returns some datetime if
    /// successful
    let tryDateParse (str:byte[]) (strLength:int) =
      // Imperatively check to see if the string contains only numbers and
      // periods as this cuts the function time in half compared to the
      // functional equivalent (Seq.forall). We also count the number
      // of periods so that we can optimize extracting the numbers
      // between the periods.
      let mutable canBe = true
      let mutable i = 0
      let mutable periodCount = 0
  