Import cleanup.
Implemented typechecking for self expression.
Refactored code for reuse.
Implemented BRecord typechecking, allowing multiple bindings in one bind expression.