Refactor GC controller procs.

It doesn't do typechecking for arguments.  AM could be literally anything, even a non-atom/movable.