anchor.diff:  
           // Two Y values
           let internal mergeDataAndLabelsForXY2 data labels = 
  +            let xTypeOpt = getChartValueTypeStatic (Seq.map (fun (a, _, _) -> a) data)
               let data = convertKeys1of3 (NotifySeq.notifyOrOnce data)
  -            let xType = getChartValueType (Seq.map (fun (a, _, _) -> a) data)
  +            let xType = getChartValueTypeDynamic xTypeOpt (Seq.map (fun (a, _, _) -> a) data)
               match labels with 
               | None -> 
                   let dataAndLabels = data |> NotifySeq.map (fun (x,y1,y2) -> TwoXYDataPoint(X=x,Y1=y1,Label=null,Y2=y2))
  
positive.code:     type key = System.IComparable
  
      module internal KeyConversions = 
          let private registeredConvertors = System.Collections.Generic.Dictionary<_, key -> key>()
          let tryGetCovnertor (typ:System.Type) =
            match registeredConvertors.TryGetValue(typ) with 
            | true, conv -> Some conv
            | _ -> None
          let registerConvertor<'T when 'T :> key> (f:'T -> key) =
            registeredConvertors.Add(typeof<'T>, fun arg -> f (arg :?> 'T))
          
          do registerConvertor (fun (dto:DateTimeOffset) -> dto.DateTime :> key)
  
negative.code: 
          open System.Collections.Specialized
          
          let private convertKeys (selector:_ -> key) (transform:(key -> key) -> _) data = 
            let hasConvertor = ref None
            let convertor = ref None
  