The point in question is how to manage these definitions in practice, since we're about to create a huge lot of them eventually. The solution attempted here is heavily inspired by the boost-test framework