14. Prerequisites should be mutually exclusive
Modules should only be listed once across all prerequisite categories.
E.g. a 'requires' module shouldn't be listed in 'test_requires'; a
'configure_requires' module shouldn't be listed in 'build_requires'.
Instead, the spec should define which combinations of categories should be
available at which stages of the install process. (Dagolden)
The exception would be 'conflicts', which by its nature should be a
duplicate of a module listed elsewhere in the prerequisite structure.
* This would be less work for users and less prone to stupid processing
errors -- like generating a list of ''all'' requirements and then
subtracting 'build_requires' (Dagolden)
* I think this would remove a certain amount of useful flexibility,
standard light weight "META Object" modules could easily automate the
production of the merged list. This feels like sacrificing on a
fundamental point to make life easier when you don't have tools that
haven't been written yet --Adam K