Fix test for operator not (identifier is stored now in lhs not rhs)
Refactor types by using a map so new types can be added on the fly