Root replacement analysis
-------------------------
This analysis returns for each function `f` all functions into which `f` can
be replaced at the root. For instance, if there are the definitions:
f x = g x
g x = h x
h x = k x : []
k x = x
then the root replacements of `f` are `[g,h]` and the
root replacements of `g` are `[h]`.
This analysis could be useful to detect simple loops, e.g., if
a function is in its own root replacement.