Hi Brian, John,
While I see your point regarding type inference, I have a hard time seing your argument regarding triviality.
Of course Data.Default instances for trivial types will be trivial. But that's hardly what I'm arguing about. Nor it is to save a few characters, from writing def instead of defaultStructureWhatever.
The case is that for very long and complex structures, filled with trivial values, and with an obvious default value, writing that default value is a task best left for the compiler, with the help of generics.
> to... save typing?
Yes, indeed, to save typing a lot of fields with trivial values, and then modifying it again if we add another trivial Text or List or IntMap value.
Of course, this only works if there are default values for the trivial types, and what better place for this than Base.
One could argue that there is already generic support for Monoids/mempty, but I argue that the subset of types that can have a default value is much bigger than those who have a Monoid instance.