Made a separate step which deals with dots.
   - added a step which types rewrites if the left hand side is a function.