 
                 describe("Creating objects conforming to Injectable") {
                     it("should use the init(injector:) initializer") {
-                        if let obj = subject.create(InjectableObject.self) as? InjectableObject {
+                        let obj = subject.create(InjectableObject.self)
+                        expect(obj is InjectableObject).to(beTruthy())
+                        if let obj = obj as? InjectableObject {
                             expect(obj.wasInjected).to(beTruthy())
-                            expect(obj.injector).to(beIdenticalTo(subject))
-                        } else {
-                            expect(false).to(beTruthy())
                         }
                     }
                 }

                it("should use this method even when the object conforms to Injectable") {
                    let obj = InjectableObject()
                    subject.bind(InjectableObject.self, to: obj)
                    expect((subject.create(InjectableObject.self) as! InjectableObject)).to(beIdenticalTo(obj))
                }
            }
            

    }
}

class InjectableObject : Injectable {
    var wasInjected : Bool = false
    required init(injector: Injector) {
        wasInjected = true
    }

    init() {}
}

struct aStruct {
