       exponentiate_last: ExponentiateLast
       append_multiplication: AppendMultiplication
       append_addition: AppendAddition
+      append_equals: AppendEquals
       append_subtraction: AppendSubtraction
       negate_last: Negation
       open_sub_expression: OpenSubExpression

        else
          base = @baseExpression(expression.last())


        power = @powerExpression()



        expression.replaceLast(
          comps.exponentiation.build(base: base, power: power))

    class_mixer(ExponentiateLast)

    class SquareLast


    class AppendMultiplication
      appendAction: (expression)->
        _OverrideIfOperatorOrAppend.build(expression).with comps.multiplication.build()

      invoke: (expression)->



    class CloseSubExpression
      invoke: (expression)->
        logger.info("CloseSubExpression#invoke")
        ret = _FinalOpenSubExpressionApplication.build(expression).
          invoke((expression)-> expression.close())
        ret
    class_mixer(CloseSubExpression)


