maybe package:ghc

If a label is a local block label then return just its BlockId, otherwise Nothing.
Returns Just w if the operation is an integer comparison with width w, or Nothing otherwise.
maybeFlipCond c returns Just c' if it is possible to flip the arguments to the conditional c, and the new condition should be c'.
If we apply maybeInvertCond to the condition of a jump we turn jumps taken into jumps not taken and vice versa. Careful! If the used comparison and the conditional jump don't match the above behaviour will NOT hold. When used for FP comparisons this does not consider unordered numbers. Also inverting twice might return a synonym for the original condition.
Retrieves the template of an unfolding if possible maybeUnfoldingTemplate is used mainly when specialising, and we do want to specialise DFuns, so it's important to return a template for DFunUnfoldings
If a SwapFlag is IsSwapped, flip the orientation of a coercion
Like substNameShape, but returns Nothing if no substitution works.
Apply parens to Doc if boolean is true.
Maybe type indexed by open/closed