fiber/{base,io}: use arrays instead of hashes for r/w accounting