I'm working on a project that looks like it'll need manual memory management (the end goal is to get it running on ARM using GDC, where the GC doesn't seem to behave (that goal might be unrealistic, but I can hope)), and I'm trying to figure out how to deal with closures. My understanding is that a closure is a function pointer and the enclosing scope, whether that scope is variables that are copied into the closure or a class instance to use as "this." Is this correct?