Integral -is:exact -package:numhask -package:classy-prelude package:lens

This ReifiedPrism can be used to model the fact that every Integral type is a subset of Integer. Embedding through the ReifiedPrism only succeeds if the Integer would pass through unmodified when re-extracted.