anchor.diff:      type [<CustomEquality; CustomComparison; TypeConverter (typeof<AddressConverter>)>] 'a Address =
           private
               { Names : Name list
  -              AddressStr : string
                 HashCode : int // OPTIMIZATION: hash cached for speed
                 TypeCarrier : 'a -> unit }
       
  
positive.code: 
          /// Convert a names list into an address.
          static member ltoa<'a> (names : Name list) =
              let addressStr = String.Join ("/", names)
              let hashCode = addressStr.GetHashCode ()
              { Names = names; AddressStr = addressStr; HashCode = hashCode; TypeCarrier = fun (_ : 'a) -> () }
  
          /// Convert a single name into an address.
          static member ntoa<'a> name : 'a Address =
  
negative.code: 
          /// Convert an address of type 'a to an address of type 'b.
          static member atoa<'a, 'b> (address : 'a Address) =
              { Names = address.Names; HashCode = address.HashCode; TypeCarrier = fun (_ : 'b) -> () }
  
          /// Convert any address to an obj Address.
          static member atooa<'a> (address : 'a Address) =
              { Names = address.Names; HashCode = address.HashCode; TypeCarrier = fun (_ : obj) -> () }
  
          /// Concatenate two addresses of the same type.
          static member acat<'a> (address : 'a Address) (address2 : 'a Address) : 'a Address=
  