So called "strong types" are a way to reduce bugs and improve clarity in your code. It is underappreciated how strong the type safety guarantees of C++ are, because it takes knowledge and discipline to make use of it. Doing so, however, will not only make your code clearer, and prevents stupid bugs, it can also improve performance.
The simplest techniques for strong types requires no library support, but a number of more sophisticated solutions are available on github as open source libraries.
In this session I give some motivating examples and present some of the techniques for creating strong types. We will go through what happens with both production code and
test code when you use them, and also discuss the pros and cons of the different approaches.