ReflectedStringConvertible is a protocol that extends CustomStringConvertible and uses reflection to add a detailed textual representation to any class.
Two styles are supported:
- normal: Similar to Swift’s default textual representation of structs.
- json: Pretty JSON representation.
