anchor.diff:          | _ -> false
       
       /// TODO: some notion of an increasing/decreasing sequence of FrameworkIdentitifers, so that Between(bottom, top) constraints can enumerate the list
  -
  -    member private x.CompatibleUpto (?topFramework, ?topStandard, ?topCore) =
  -        [   match topFramework with
  -            | None -> () | Some framework -> yield! framework  <-> FrameworkVersion.V1 |> List.map DotNetFramework
  -            match topStandard with
  -            | None -> () | Some standard -> yield! standard <-> DotNetStandardVersion.V1_0 |> List.map DotNetStandard 
  -            match topCore with
  -            | None -> () | Some core -> yield! core <->  DotNetCoreVersion.V1_0 |> List.map DotNetCore
  -        ]
  -            
  -    member private x.CompatibleUpto (topStandard) =
  -        [  yield! topStandard <-> DotNetStandardVersion.V1_0 |> List.map DotNetStandard ]
  -    
  -    member private x.CompatibleUpto (topCore) =
  -        [   yield! topCore <-> DotNetCoreVersion.V1_0 |> List.map DotNetCore ]
  -
  -
  -    member private self.ExpandSupportedPlatforms (xs:FrameworkIdentifier list) =
  -        let expand frameworkId =
  -            match frameworkId with 
  -            | DotNetFramework x -> self.CompatibleUpto x
  -            | DotNetStandard x -> self.CompatibleUpto x
  -            | DotNetCore x -> self.CompatibleUpto x
  -            | _ -> []
  -        xs |> List.collect expand
   
       member x.IsCompatible y = 
           x = y || 
  
positive.code:         | FrameworkVersion.V4_6_3 -> "463"
          | FrameworkVersion.V4_7 -> "47"
          | FrameworkVersion.V5_0 -> "50"
  
      member this.NetStandardCompatible =
          match this with
          | FrameworkVersion.V1         
          | FrameworkVersion.V1_1       
          | FrameworkVersion.V2         
          | FrameworkVersion.V3         
          | FrameworkVersion.V3_5       
          | FrameworkVersion.V4_Client  
          | FrameworkVersion.V4        -> []
          | FrameworkVersion.V4_5      -> [ DotNetStandardVersion.V1_1 ]
          | FrameworkVersion.V4_5_1    -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_2 
          | FrameworkVersion.V4_5_2    -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_2 
          | FrameworkVersion.V4_5_3    -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_2 
          | FrameworkVersion.V4_6      -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_3
          | FrameworkVersion.V4_6_1    -> (DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_4) @ [DotNetStandardVersion.V2_0]
          | FrameworkVersion.V4_6_2    -> (DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_5) @ [DotNetStandardVersion.V2_0]
          | FrameworkVersion.V4_6_3    -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V2_0
          | FrameworkVersion.V4_7      -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V2_0
          | FrameworkVersion.V5_0      -> DotNetStandardVersion.V1_1 <-> DotNetStandardVersion.V1_3
  
      
  
  
  [<RequireQualifiedAccess>]
  /// The UAP version.
  
negative.code:     | V4_6_2
      | V4_6_3
      | V4_7
      | V5_0          
      override this.ToString() =
          match this with
          | V1        -> "v1.0"
  