Deciding which kind you want

When you design your application, think about how the structures you are defining will be used: