     public func lessThanOrEqualTo(other: Float) -> Constraint {
         return constrainTo(other, relation: .LessThanOrEqualTo)
     }
+    public func lessThanOrEqualTo(other: Double) -> Constraint {
+        return constrainTo(Float(other), relation: .LessThanOrEqualTo)
+    }
+    public func lessThanOrEqualTo(other: CGFloat) -> Constraint {
+        return constrainTo(Float(other), relation: .LessThanOrEqualTo)
+    }
     public func lessThanOrEqualTo(other: Int) -> Constraint {
         return constrainTo(Float(other), relation: .LessThanOrEqualTo)
     }
+    public func lessThanOrEqualTo(other: UInt) -> Constraint {
+        return constrainTo(Float(other), relation: .LessThanOrEqualTo)
+    }
     public func lessThanOrEqualTo(other: CGSize) -> Constraint {
         return constrainTo(other, relation: .LessThanOrEqualTo)
     }

                return point.y
            }
        }
            // EdgeInsets
        else if let insets = value as? EdgeInsets {
            if self == .Left {
                return insets.left

    public func greaterThanOrEqualTo(other: Float) -> Constraint {
        return constrainTo(other, relation: .GreaterThanOrEqualTo)
    }
    public func greaterThanOrEqualTo(other: Double) -> Constraint {
        return constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
    }
    public func greaterThanOrEqualTo(other: CGFloat) -> Constraint {
        return constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
    }
    public func greaterThanOrEqualTo(other: Int) -> Constraint {
        return constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
    }
    public func greaterThanOrEqualTo(other: UInt) -> Constraint {
        return constrainTo(Float(other), relation: .GreaterThanOrEqualTo)
    }
    public func greaterThanOrEqualTo(other: CGSize) -> Constraint {
        return constrainTo(other, relation: .GreaterThanOrEqualTo)
    }
