BindingNotFoundError = object of CatchableError
Container = ref object bindings*: Table[BindingKey, proc (): RootRef {....gcsafe, raises: [].}]
proc register[T](c: Container; implementation: proc (): T {....gcsafe, raises: [].}; qualifier: string = "")
proc resolve[T](c: Container; qualifier: string = ""): T {. ...raises: [BindingNotFoundError].}