For example, targeting areas is implemented differently in every damn command. Some allow list of ids, some don't. The list has to be separated with , or can just be separated with space, or both work, or list of areas is not accepted -- it's a huge mess that can be resolved by throwing it into a function that every command that needs it calls it.