Currently, Nix Type inference is a completely separate type subsystem from language semantics:

On: (2021-05-31)
Notice there are Expr.Types that are language basis & Type.Type that is an inference basis.
They are completely separate currently. It is redunculous that Type.Type does not have ANY import from HNix.
They (Expr.* -> Types.*) need to share the maximum types. It would lead to #187 almost directly.
A good start is variable names.
In the type system, variable names are variable names.