type Lazy[T any] interface {
// Get when first called, will run the initialization function and cache the output. Returns cached output on// subsequent runs.
Get() T
}
Lazy is a caching concurrency-safe lazy initializer
type LazyE[T any] interface {
// Get when first called, will run the initialization function and cache the output. Returns cached output on// subsequent runs.
Get() (T, error)
}
LazyE is a caching, concurrent-safe lazy initializer, for initializations that might produce an error