OCuality is an integrated logging, assertion, and unit testing library. This is the first open source release after several years of development as part of the designByRobots project. The goal of Ocuality is to create a straightforward, yet minimal, way of defining certain property's of an application's types so that assertions don't require vast amounts of type-specific boilerplate to pack and unpack data structures to run a compare() function against. Ocuality also tries to remove problems that occur when unit testing libraries, built-in asserts methods, and logging libraries do not work nicely together (such as java's assert() method, junit library, and logging working against each other). The key feature of Ocuality is the way assertions (via a module called Verify) can be called from either application code or as part of a unit test (via the TestCase module). When a Verify method fails or (optionally) succeeds, an informative log message is generated. When a suite of unit tests are run, the number of Verifications that succeed or fail are summarized, as well as a detailed list of failing tests. This approach to assertions requires a comparer ('a Comparer.t), which is simply a toString() and compare() method for an abstract type ('a). The Comparer module provides methods for composing higher order Comparer.t's (e.g. create a ('a list Comparer.t) given a ('a Comparer.t))) which are extremely powerful in creating simple yet complete assertions in unit tests. Project Home and Readme: https://github.com/pgroves/ocuality Example Code (executable version of examples in the Readme): https://github.com/pgroves/ocuality/blob/master/src/ReadmeExample.ml Feedback and feature suggestions are welcome on the project's github issue tracker: https://github.com/pgroves/ocuality/issues -Peter