Yes, by all means, let's implement malloc(3) in a way it should never have been implemented after the VAX/11 architecture, and using much less readable code and worse examples than in the Old Testament ?
Hint: Storing the free-list in the free space means that to free even more memory, you have to page in otherwise unused VM pages.