Refactored the varify! function, added target! function
Changed tests accordingly
Almost have variables working
Now compiles with variables
Removed a couple of the limitations