I believe it's a question of what type of question you would like to pose in
the end. Lets say you just want all related information to show up whenever
you show someone the user. Then a list (or EnumMap
, if you want to make some uniqueness guarantees) would be nice since you just want to iterate over it
and print the stuff.
However, if you want to ask questions like "if this user have a birthday show
a notice 1 day in advance to friends" then even if you start of with the list
you are left with a Option
in the end. I don't think this is bad, but it
doesn't free you from the idea of optional values.
-edit-
A drawback is that you have to fit all your data into the same type. Might be easy or difficult depending on your requirements.