WIP
Adding basic unification and type checking