Integral -package:basement -package:algebra -package:bytestring-lexing 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.