Add basic combinators for generic and type-safe composition of nullables
Pre-release
Pre-release
tests: Port test cases to Catch2 And use its BDD-style that fits nicely with Catch2 support for names that do not need to be valid C++ identifiers. Given that absent does not use mocks, a simpler framework such as Catch2 might be a better option than GoogleTest right now. Moreover, the tests are now simplified in order to reduce noise and improve readability rather than other attributes (e.g. run-time performance), for instance via passing by-value for lambdas instead of const ref, etc.