         
         XCTAssert(try Value.uint8(0x01).compare(.bool(true), operator: .equalTo))
         XCTAssert(try Value.uint8(0x00).compare(.bool(true), operator: .notEqualTo))
+        XCTAssert(try Value.bool(true).compare(.uint8(0x01), operator: .equalTo))
+        XCTAssert(try Value.bool(false).compare(.uint8(0x01), operator: .notEqualTo))
         XCTAssert(try Value.uint8(0x01).compare(.int8(0x01), operator: .equalTo))
         XCTAssert(try Value.uint8(0x00).compare(.uint16(0x01), operator: .notEqualTo))
         XCTAssert(try Value.uint16(0x1234).compare(.uint32(0x1200), operator: .notEqualTo))

        XCTAssert(try Value.int64(.max).compare(.int32(.max), operator: .greaterThan))
        XCTAssert(try Value.int32(.max).compare(.int32(.max), operator: .greaterThanOrEqualTo))
        XCTAssert(try Value.uint32(.max).compare(.int32(.max), operator: .greaterThanOrEqualTo))
    }
}

        let uuid = UUID()
        
        XCTAssert(try Value.uuid(uuid).compare(.uuid(uuid), operator: .equalTo))
        XCTAssertFalse(try Value.uuid(uuid).compare(.uuid(UUID()), operator: .equalTo))
        XCTAssert(try Value.uuid(uuid).compare(.uuid(UUID()), operator: .notEqualTo))
        XCTAssert(try Value.uuid(UUID()).compare(.uuid(uuid), operator: .notEqualTo))
    }
