 
     func testInt64() {
         typealias TestTarget = Int64
+        
         // upper bound
         let max:TestTarget = 0x7FFFFFFF_FFFFFFFF
-//        let min:TestTarget = 0x80000000_00000000
         XCTAssertEqual(TestTarget.max, try! TestTarget.decode(any: max))
         XCTAssertEqual(TestTarget.max, try! TestTarget.decode(any: TestTarget.max))
+        
         // lower bound
-//        XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: min))
+        let min:TestTarget = -9223372036854775808
+        XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: min))
         XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: TestTarget.min))
         
         XCTAssertEqual(1, try! TestTarget.decode(any: "1"))


    func testUInt16() {
        typealias TestTarget = UInt16
        // upper bound
        XCTAssertEqual(TestTarget.max, try! TestTarget.decode(any: 0xFFFF))
        XCTAssertEqual(TestTarget.max, try! TestTarget.decode(any: TestTarget.max))
        // lower bound
        XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: 0))
        XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: TestTarget.min))


    func testUInt64() {
        typealias TestTarget = UInt64
        
        // upper bound
        let max:TestTarget = 0xFFFFFFFF_FFFFFFFF
        XCTAssertEqual(TestTarget.max, try! TestTarget.decode(any: max))
        XCTAssertEqual(TestTarget.max, try! TestTarget.decode(any: TestTarget.max))
        
        // lower bound
        XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: 0))
        XCTAssertEqual(TestTarget.min, try! TestTarget.decode(any: TestTarget.min))
