As long as there's an 'all' default, this looks good to me. In my experience, every type could be used anywhere.