The library allows you to allocate memory in a region yielding a
regional pointer to it. When the region terminates all pointers
are automatically freed. Most importantly, a pointer can't be
returned from the region. So it's impossible to reference
unallocated memory.
The primary technique used in this package is called "Lightweight
monadic regions" which was invented by Oleg Kiselyov and
Chung-chieh Shan. See:
http://okmij.org/ftp/Haskell/regions.html#light-weight
This technique is implemented in the regions package which is
re-exported from this library.
This library provides wrappers around all the Ptr functions
from the Foreign.* modules of the base library.