:: a -> (a -> b) -> b -package:protolude -package:overhang -package:hedgehog package:ghc-lib-parser