private static void Register <TBase>(this IIoCContainer container, IoCLifecycle lifecycle, Func <TBase> factory) where TBase : class => container.Register(lifecycle, typeof(TBase), factory);
private static void Register <TBase, TImplementation>(this IIoCContainer container, IoCLifecycle lifecycle) where TBase : class where TImplementation : class, TBase => container.Register(lifecycle, typeof(TBase), typeof(TImplementation));