When you accept weakly typed data as input or have them as output, still convert them to strongly typed objects inside your application.

Is everything we use a string for really just a bunch of characters? Is everything we use an int for really just a number? Probably not. We can have stronger […]

There are some nice-to-know use cases for classes that have no members. One of them is tag dispatch. It can even be found in your standard library implementation.