Utility that allows to check that an object validates a predefined contract
Lazy<T> and ResettableLazy<T> class for simplifying lazy initialization.
Wraps a class constructor to ensure only one instance is created, using lazy initialization and optionally calling an init method if present, while maintaining type safety via TypeScript generics.