# Functions
DoEqual is a naive interfaces comparison that check and use Equaler interface and return an error if its not match.
IsEqual is a naive interfaces comparison that check and use Equaler interface.
IsNil will return true if v's type is chan, func, interface, map, pointer, or slice and its value is `nil`; otherwise it will return false.
Marshal marshal the obj value to []byte by calling one of the method: MarshalBinary, MarshalJSON, or MarshalText; in respective order.
Set the obj value by converting the string val to the obj type.
Tag simplify lookup on struct's field tag.
Unmarshal set the obj value by calling one of the method: UnmarshalBinary, UnmarshalJSON, or UnmarshalText; in respective order.
# Interfaces
Equaler is an interface that when implemented by a type, it will be used to compare the value in Assert.