     
     func resolve<T>(_ parameter: Any, lifecycle: Lifecycle) -> T {
         var result: T
+        let lifecycle = lifecycle == .once ? self.lifecycle : lifecycle
         if lifecycle == .cached {
             if instance == nil {
                 instance = registration(parameter)

    }
}

public struct Key: Hashable {
    public let type: String
    public let name: AnyHashable

}

public struct Guise {
    private init() {}
    
    private static var lock = Lock()
    private static var registrations = [Key: Dependency]()
    
