Use bottom value instead of unspecified for initial bindings of letrec
Keep a track of addresses currently being visited by the GC to avoid infinite looping
Escape edge labels
Don't ignore address of the binding in letrec (gc)