> Compiler cannot keep track of cycles that appear at run time. Even simple > linked list can start as linear and end up having a loop.
for a lot of objects it can be decided whether they are eable to form cycles or not at compile time. The orc memory management scheme uses this as an optimisation to only run the cycle collector on objects of types which can form cycles. On this topic there's also the acyclic pragma (<https://nim-lang.org/docs/manual.html#pragmas-acyclic-pragma)>.