/**
* A circular dependency is a function without parameters returning the specified type
* it makes it possible to do the evaluation only when the function is called
* useful for lazy evaluation
*/exporttypeCircular_Dependency<T> = {
'get circular dependent': () => T;
};