FlatFS does not know anything about CIDs, blocks or IPLD and actually is being used by different projects in the ecosystem in different ways. In particular some key their IPLD blocks by CIDs and some by multihashes, but FlatFS doesn't really care. All the text around base32 encoding, CIDs, etc. should be removed and placed into the docs of the applications that use them (e.g. go-ipfs docs).
The README is misleading
https://github.com/ipfs/go-ds-flatfs/blob/f0750204617b5b0cfb414c38ce486bf9f01963bb/readme.go#L3-L33
FlatFS does not know anything about CIDs, blocks or IPLD and actually is being used by different projects in the ecosystem in different ways. In particular some key their IPLD blocks by CIDs and some by multihashes, but FlatFS doesn't really care. All the text around base32 encoding, CIDs, etc. should be removed and placed into the docs of the applications that use them (e.g. go-ipfs docs).