This module provides the underlying implementation of the pattern. It is possible to leak resources if you know some tricks about how to do it. Use these values with caution.
newtype Resource a
The abstraction over safe resource management.
Any values embeded in this data type will be safely acquired before use, and released after they're done being used. Will also release the resources in the face of exceptions.
(BooleanAlgebra a) => BooleanAlgebra (Resource a)
(HeytingAlgebra a) => HeytingAlgebra (Resource a)
(Monoid a) => Monoid (Resource a)
(Semigroup a) => Semigroup (Resource a)
(Semiring a) => Semiring (Resource a)