comp package:ghc-lib-parser

Try one stepper and then try the next, if the first doesn't make progress. So if it returns NS_Done, it means that both steppers are satisfied
Composes two substitutions, applying the second one provided first, like in function composition. This function leaves IdSubstEnv untouched because IdSubstEnv is not used during substitution for types.
Relate the keys of one map to the values of the other, by using the values of the former as keys for lookups in the latter. Complexity: <math>, where <math> is the size of the first argument
compose (fromList [('a', "A"), ('b', "B")]) (fromList [(1,'a'),(2,'b'),(3,'z')]) = fromList [(1,"A"),(2,"B")]
(compose bc ab !?) = (bc !?) <=< (ab !?)
Note: Prior to v0.6.4, Data.Word64Map.Strict exposed a version of compose that forced the values of the output Word64Map. This version does not force these values.
Reverse all the bits in the argument
x `complementBit` i is the same as x `xor` bit i