Shower thought: Printing runtime values is far more useful for product types than sum types. For a struct it's useful to see all the fields, but for a nullable int it's less useful to see 123.