anchor.diff:  
           { Parse = userInfoP
             Format = userInfoF }
  +
  +    (* Lenses *)
  +
  +    static member UserInfo_ =
  +        (fun (UserInfo u) -> u), (fun u -> UserInfo u)
   
   (* Section 3.2.2 *)
   
  
positive.code:         { Parse = regNameP
            Format = regNameF }
  
  and Port =
      | Port of int
  
  
negative.code: 
          { Parse = relativePartP
            Format = relativePartF }
  
      (* Lenses *)
  
      static member Authority_ =
          (function | Authority (a, p) -> Some (a, p) | _ -> None), (fun (a, p) -> Authority (a, p))
  
      static member Absolute_ =
          (function | Absolute p -> Some p | _ -> None), (fun p -> Absolute p)
  
      static member NoScheme_ =
          (function | NoScheme p -> Some p | _ -> None), (fun p -> NoScheme p)
  
      static member Empty_ =
          (function | Empty -> Some () | _ -> None), (fun () -> Empty)
  
  (* Absolute URI
  
  