Extracting everything into a main() also causes the application
to hang.
ie:
struct S
{
S* next;
}
S* _foo;
foreach (e; 0 .. 10)
_foo = theAllocator.make!S(_foo);
S* next, current;
next = current = _foo;
while (next)
{
next = current.next;
theAllocator.dispose(current);
}