work towards fix
merged `hiearchy` into Name-Resolver
work towards fix
cleaner implementation
Fixed a couple bugs from the previous implementation
Fixed bug in alloy generation
Cleaned up implementation
More small fixes to implemenetation
merged `hierarchy` into name resolver
Fixed a merging conflict
Added redefinition checker that will throw an error if you try to improperly use redefinition
Fixed a bug with redefinition and references
Fixed a corner case
Added isSet into SClafers for IG
Fixed alloy generator for redefinied references
Changed redefintion to find the best case rather than the first
Cleaned up implementation
Reorganized in order to fix small compiling issue
Updated the sugarer to support both ':' and '->'
Updated alloy generator to support redefining refrences

Made errors monadic