Fixed multiple returns overwriting, this is now tracked in the visitor as a bool - a little hacky but it works
Fixed return branches
Added new operator==
Added modulo operator