 public extension DecimalNumberType where DecimalStorageType == NSDecimalNumber {
 
     /// Flag to indicate if the decimal number is less than zero
-    public var isNegative: Bool {
+    var isNegative: Bool {
         return storage.isNegative
     }
 
     /// The negative of Self.
     /// - returns: a `_Decimal<Behavior>`
-    public var negative: Self {
+    var negative: Self {
         return Self(storage: storage.negateWithBehaviors(DecimalNumberBehavior.decimalNumberBehaviors))
     }
 
     /// Access an integer value representation
-    public var integerValue: Int {
+    var integerValue: Int {
         return storage.integerValue
     }
 
     /// Access a float value representation
-    public var floatValue: Double {
+    var floatValue: Double {
         return storage.doubleValue
     }
 
     /// Text description.
-    public var description: String {
+    var description: String {
         return "\(storage.description)"
     }
 
+    /// Hash value
+    var hashValue: Int {
+        return storage.hashValue
+    }
+
     /**
      Initialize a new value using a `FloatLiteralType`
 
      - parameter floatLiteral: a `FloatLiteralType` for the system, probably `Double`.
      */
-    public init(floatLiteral value: Swift.FloatLiteralType) {
+    init(floatLiteral value: Swift.FloatLiteralType) {
         self.init(storage: NSDecimalNumber(floatLiteral: value).decimalNumberByRoundingAccordingToBehavior(DecimalNumberBehavior.decimalNumberBehaviors))
     }
 

     - returns: another instance of this type.
     */
    @warn_unused_result
    public func multiplyBy(other: Self) -> Self {
        return Self(storage: storage.multiplyBy(other.storage, withBehaviors: DecimalNumberBehavior.decimalNumberBehaviors))
    }


 A protocol which defines the necessary interface to support decimal number
 calculations and operators.
 */
public protocol DecimalNumberType: Hashable, SignedNumberType, IntegerLiteralConvertible, FloatLiteralConvertible, CustomStringConvertible {

    typealias DecimalStorageType
    typealias DecimalNumberBehavior: DecimalNumberBehaviorType
