Fill default values in object when empty.
Defaults implementation with type-safety and mostly dynamic type adaptation.