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:     | V1_5
      | V1_6
      | V2_0
      member private this.NumKey =
          match this with
          | V1_0 -> 0
          | V1_1 -> 1
          | V1_2 -> 2
          | V1_3 -> 3
          | V1_4 -> 4
          | V1_5 -> 5
          | V1_6 -> 6
          | V2_0 -> 7
      static member private FromNum num =
          match num with
          | 0 -> V1_0
          | 1 -> V1_1
          | 2 -> V1_2
          | 3 -> V1_3
          | 4 -> V1_4
          | 5 -> V1_5
          | 6 -> V1_6
          | 7 -> V2_0
          | _   -> failwithf "'%i' has no corresponding framework version" num
      
      static member (<->) (lower:DotNetStandardVersion,upper:DotNetStandardVersion) =
          if lower.NumKey < upper.NumKey then
              [ lower.NumKey .. upper.NumKey ] |> List.map DotNetStandardVersion.FromNum
          else
              [ lower.NumKey .. -1 .. upper.NumKey ] |> List.map DotNetStandardVersion.FromNum
  
      override this.ToString() =
          match this with
          | V1_0 -> "v1.0"
  
negative.code:         | FrameworkVersion.V4_6_3 -> "463"
          | FrameworkVersion.V4_7 -> "47"
          | FrameworkVersion.V5_0 -> "50"
  
  [<RequireQualifiedAccess>]
  /// The UAP version.
  