More freelist rewrites (WIP, tests failing)