What makes GHC's GC good for purely functional workloads?