# Functor Pool_intf.Pool.Debug

    module Debug: functor (Pool : S) -> sig .. end

`Debug` builds a pool in which every function can run `invariant` on its pool argument(s) and/or print a debug message to stderr, as determined by `!check_invariant` and `!show_messages`, which are initially both `true`.

The performance of the pool resulting from `Debug` is much worse than that of the input `Pool`, even with all the controls set to `false`.

Parameters:

`Pool` | : | `S`

    include Pool_intf.Pool.S

    val check_invariant : bool Pervasives.ref

    val show_messages : bool Pervasives.ref