[jhc] darcs patch: clean up GC code, make distinction of po... (and 3 more)