Represent a block on the free list as a FreelistBlock rather than an Addr (for better type safety). Add many checks.
Extra-careful check after setting the limit.
Oops, forgot fl argument to FreelistBlockLimit.