     if @value instanceof Code and match = @METHOD_DEF.exec name
       @value.name  = match[2]
       @value.klass = match[1]
-    val = @value.compile o
+    val = @value.compileBare o
     return "#{name}: #{val}" if @context is 'object'
     o.scope.find name unless isValue and (@variable.hasProperties() or @variable.namespaced)
     val = name + " #{ @context or '=' } " + val

# because ternaries are already proper expressions, and don't need conversion.
exports.If = class If extends Base

  children: ['condition', 'body', 'elseBody', 'assigner']

  topSensitive: YES


    else
      fst = @first
      ref = fst.compile o
    @second.tags.operation = no
    new Existence(fst).compile(o) + " ? #{ref} : #{ @second.compileBare o }"

  # Compile a unary **Op**.
  compileUnary: (o) ->
