document traits
don't break apart when using empty IReadOnlyDictionary