- for binary encoding we almost always want protobuf
- for json we almost always want amino for querier backwards compatibility (protobuf json will happen elsewhere)
- in some cases we want to allow amino as a fallback for interfaces
type Marshaler interface {