anchor.diff:          static member makeFromString<'a> (addressStr : string) =
               let names = addressStr.Split '/' |> List.ofArray |> List.map Name.make
               let hashCode = addressStr.GetHashCode ()
  -            { Names = names; AddressStr = addressStr; HashCode = hashCode; TypeCarrier = fun (_ : 'a) -> () }
  +            { Names = names; HashCode = hashCode; TypeCarrier = fun (_ : 'a) -> () }
   
           /// Hash an Address.
           static member hash (address : 'a Address) =
  
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:         /// Equate Addresses.
          static member equals address address2 =
              address.HashCode = address2.HashCode && // OPTIMIZATION: first check hash equality
              Name.equateNames address.Names address2.Names
  
          /// Compare Addresses.
          static member compare address address2 =
              Name.compareNames address.Names address2.Names
  
          /// Convert a string into an address.
          static member stoa<'a> str =
  