 }
 
 extension NumericType {
+    
+    static var range : Range<Self> {
+        return Self.min...Self.max
+    }
     
     func abs() -> Self {
         return (self < Self(0) ? Self(0) - self : self)

extension Double : NumericType {
    static var max : Double { return DBL_MAX }
    static var min : Double { return DBL_MIN }
}

extension Float  : NumericType {
    static var max : Float { return FLT_MAX }
    static var min : Float { return FLT_MIN }
}

func &+(lhs: Double, rhs: Double) -> Double { return lhs + rhs }
