Provider

typealias Provider<T> = (options: ProviderOptions) -> T(source)