Built In Functionality
Out of the box, penrose offers a minimal amount of functionality that can be used to write your own window manager. The core of the library is the state management and X server interaction logic, but there are a number of types and traits available for building out custom behaviour as you see fit.
Partly to exist as a reference (and also to bootstrap a minimal window manager) the builtin module is provided with a small number of examples for each of the pieces of functionality on offer.