 
 import Foundation
 import XPC
+
+public func <=(lhs: XPCInt, rhs: XPCInt) -> Bool {
+    return lhs.value <= rhs.value
+}
+
+public func >=(lhs: XPCInt, rhs: XPCInt) -> Bool {
+    return lhs.value >= rhs.value
+}
+
+public func >(lhs: XPCInt, rhs: XPCInt) -> Bool {
+    return lhs.value > rhs.value
+}
+
+public func ==(lhs: XPCInt, rhs: XPCInt) -> Bool {
+    return (lhs as XPCObject) == (rhs as XPCObject)
+}
+
+public func <(lhs: XPCInt, rhs: XPCInt) -> Bool {
+    return lhs.value < rhs.value
+}
+
+
+public func <=(lhs: XPCUInt, rhs: XPCUInt) -> Bool{
+    return lhs.value <= rhs.value
+}
+
+public func >=(lhs: XPCUInt, rhs: XPCUInt) -> Bool {
+    return lhs.value >= rhs.value
+}
+
+public func >(lhs: XPCUInt, rhs: XPCUInt) -> Bool {
+    return lhs.value > rhs.value
+}
+
+public func ==(lhs: XPCUInt, rhs: XPCUInt) -> Bool {
+    return (lhs as XPCObject) == (rhs as XPCObject)
+}
+
+public func <(lhs: XPCUInt, rhs: XPCUInt) -> Bool {
+    return lhs.value < rhs.value
+}
+
+public func <=(lhs: XPCDouble, rhs: XPCDouble) -> Bool{
+    return lhs.value <= rhs.value
+}
+
+public func >=(lhs: XPCDouble, rhs: XPCDouble) -> Bool {
+    return lhs.value >= rhs.value
+}
+
+public func >(lhs: XPCDouble, rhs: XPCDouble) -> Bool {
+    return lhs.value > rhs.value
+}
+
+public func ==(lhs: XPCDouble, rhs: XPCDouble) -> Bool {
+    return (lhs as XPCObject) == (rhs as XPCObject)
+}
+
+public func <(lhs: XPCDouble, rhs: XPCDouble) -> Bool {
+    return lhs.value < rhs.value
+}
 
 public final class XPCNull : XPCObject {
     public convenience init() {

    }
}

public final class XPCInt : XPCObject, IntegerLiteralConvertible {
    public typealias IntegerLiteralType = Int64
    
    public convenience init(value: Int) {

    }
}

public final class XPCDouble : XPCObject, FloatLiteralConvertible, Comparable {
    public typealias FloatLiteralType = Double
    
    required public convenience init(value: Double) {
