substOrUnify does unify if there are no extra variables in pi result scope
Add simple pi test
More type rules:

* Pi's paramType and result are both types.
* Lambda's param type is a type.
* Record field tags are of tag type
* GetField's tag is of tag type