         "&times;"
       });
 
+    ref.forType(comps.division, {
+      toString: ->
+        "/"
+      toHTMLString: ->
+        "&divide;"
+      })
+
     ref.forType(comps.subtraction, {
       toString: ->
         "*"

          "#{@val}"
      })


    class ExpressionToString
      initialize: (@expression)->
      toString: ->
        ref.refine(@expression).toString()
      toHTMLString: ->
        ref.refine(@expression).toHTMLString()

    class_mixer ExpressionToString


      })

    ref.forType(comps.expression, {
      toString: (wrap_with_parentheses=true)->
        ret = @mapconcatWithMethod('toString')
        @maybeWrapWithParentheses(ret, wrap_with_parentheses)
      toHTMLString: (wrap_with_parentheses=true)->
        ret = @mapconcatWithMethod('toHTMLString')
        @maybeWrapWithParentheses(ret, wrap_with_parentheses)

      mapconcatWithMethod: (method)->
        _(@expression).map((it)-> ref.refine(it)[method]()).join(' ')
      maybeWrapWithParentheses: (str, do_wrap)->
        if do_wrap
          "( #{str} )"
        else
          str
      });

    ref.forType(comps.blank, {
