anchor.diff:          { Parse = uriReferenceP
             Format = uriReferenceF }
   
  +    (* Lenses *)
  +
  +    static member Uri_ =
  +        (function | Uri u -> Some u | _ -> None), (fun u -> Uri u)
  +
  +    static member Relative_ =
  +        (function | Relative r -> Some r | _ -> None), (fun r -> Relative r)
  +
  +    (* Common *)
  +
       static member Format =
           Formatting.format UriReference.Mapping.Format
   
  
positive.code: 
          { Parse = userInfoP
            Format = userInfoF }
  
  (* Section 3.2.2 *)
  
  
negative.code:         { Parse = hostP
            Format = hostF }
  
      (* Lenses *)
  
      static member IPv4_ =
          (function | IPv4 i -> Some i | _ -> None), (fun i -> IPv4 i)
  
      static member IPv6_ =
          (function | IPv6 i -> Some i | _ -> None), (fun i -> IPv6 i)
  
      static member Name_ =
          (function | Name n -> Some n | _ -> None), (fun n -> Name n)
  
  and RegName =
      | RegName of string
  
  