pub trait Types {
type Sort: Identifier + Hash + Clone + Debug;
type KVar: Identifier + Hash + Clone + Debug + Eq;
type Var: Identifier + Hash + Clone + Debug + PartialEq;
type Decimal: FixpointFmt + Hash + Clone + Debug;
type String: FixpointFmt + Hash + Clone + Debug;
type Tag: Display + FromStr + Hash + Clone + Debug;
}