Lazy
Lazy<T> is a wrapper around
a Provider<T>, which creates the
object once and caches the result. The object will only be created
when get() is called, and
subsequent invocations returns a reference to the same object.
Examples
https://github.com/azureblaze/lockjaw/blob/main/tests/lazy.rs