         do {
             var encoder = CerealEncoder()
             try encoder.encode("testing", forKey: rootKey)
-            let subject: String = try CerealDecoder.rootItemWithData(data: encoder.toData())
+            let subject: String = try CerealDecoder.rootItem(with: encoder.toData())
 
             XCTAssertEqual(subject, "testing")
         } catch let error {

            let object = TestCerealType(foo: "test")
            var encoder = CerealEncoder()
            try encoder.encode(object, forKey: rootKey)
            let subject: TestCerealType = try CerealDecoder.rootCerealItemWithData(data: encoder.toData())
            XCTAssertEqual(subject, object)
        } catch let error {
            XCTFail("Encoding failed due to error: \(error)")

            let object: [[String: Fooable]] = [["Foo": TestIdentifyingCerealType(foo: "bar")], ["Bar": TestIdentifyingCerealType(foo: "baz")]]
            var encoder = CerealEncoder()
            try encoder.encodeIdentifyingItems(deepCast(object), forKey: rootKey)
            let subject: [[String: Fooable]] = deepCast(try CerealDecoder.rootIdentifyingCerealItems(with: encoder.toData()))

            XCTAssertEqual(subject.count, 2)
            XCTAssertEqual(subject[0].count, 1)
