 
   constructor: (condition, @body, @tags) ->
     @tags or= {}
-    if @tags.invert
-      op = condition instanceof Op
-      if op and condition.isInvertible()
-        condition.invert()
-      else
-        condition = new Parens condition if op and not condition.isUnary()
-        condition = new Op '!', condition
-    @condition = condition
+    @condition = if @tags.invert then condition.invert() else condition
     @elseBody  = null
     @isChain   = false
 

  isUnary: ->
    not @second

  isInvertible: ->
    @operator in ['===', '!==']

  isComplex: -> @operator isnt '!' or @first.isComplex()

  isMutator: ->


  constructor: (condition, opts) ->
    super()
    @condition  = if opts?.invert then condition.invert() else condition
    @guard = opts?.guard

  addBody: (body) ->
