e whatever code is necessary to make your type printable - it doesn't have to be in another function).

You should put this function in the same namespace as your type.

Alternatively you may prefer to write it as a member function:

```
std::ostream& T::operator<<(std::ostream& os) const {
    os << convertMyTypeToString(*this);
    return os;
}
```

## ```doctest::toString``` overload

If you don't want to provide an ```operator<<``` overload, or you want to convert your type differently for testing purpo