I don't see what's so bad about it. core.memory.GC is a struct which wraps malloc and free. If that were naked, and TempAlloc was too, then you would have erratic behavior if you missplaced one import with another by accident.