modules to raise exceptions when there's no more memory to be had.
.SS "Memory allocation"
The
+.BR arena (3)
+module provides an abstraction of memory allocation. By writing
+appropriate arena implementations, a client program can control where
+and how memory is allocated for various structures.
+.PP
+The
.BR alloc (3)
module provides simple veneers onto traditional memory allocation
functions like
doesn't actually depend on
.B strdup
being defined in the library) which raise exceptions when there's not
-enough memory left.
+enough memory left. These work through the
+.B arena
+layer, so that the caller can control memory allocation.
.PP
The
.BR sub (3)
.B track
module (not yet documented) is a simple memory allocation tracker. It
can be handy when trying to fix memory leaks.
+.PP
+The
+.BR pool (3)
+module maintains resource pools which can manage memory and other
+resources, all of the resources held in a pool being destroyed along
+with the pool itself.
.SS "String handling"
The
.BR str (3)