region-based memory management in a c-like form