Module mono 
Source - Mono
 - MonoSet
 
- MAX_STEP_SET_SIZE ๐ 
 
- add_transform_tys
 - eliminate_infer_var
 - get_impls
 - get_mono_set ๐ 
 - get_unbound_generic_candidates
 - if type parameter is unbound, e.g., 
T in fn foo<T>(),
we use some predefined types to substitute it - is_args_fit_trait_bound ๐ 
 - is_fn_solvable ๐ 
 - is_special_std_ty ๐ 
 - resolve_mono_apis
 - solve_unbound_type_generics ๐ 
 - unify_trait ๐ 
 - only handle the case that rhs does not have any infer types
e.g., 
<T as Into<U>> == <Foo as Into<Bar>> => Some(T=Foo, U=Bar)) - unify_ty ๐ 
 - try to unfiy lhs = rhs,
e.g.,
try_unify(Vec, Vec, โฆ) = Some(i32)
try_unify(Vec, i32, โฆ) = None