       mapconcatWithMethod: (method)->
         _(@expression).map((it)-> ref.refine(it)[method]()).join(' ')
       });
+
+    ref.forType(comps.blank, {
+      toString: -> ""
+      toHTMLString: -> ""
+      })
 
     ref.forType(comps.number, {
       toString: ->

      power: ->
        ref.refine(@unrefined().power()).toString()
      toString: ->
        "#{@base()}^#{@power()}"
      toHTMLString: ->
        "#{@base()}&circ;#{@power()}"
      });


    ref.forType(comps.expression, {
      toString: ->

  ['lib/class_mixer', 'lib/object_refinement', 'lib/math/expression_components'],
  (class_mixer, object_refinement, comps)->

    ref = object_refinement.build()
    ref.forDefault({
      toString: ->
        #console.log "toString not handled for #{AP @unrefined()}"
        "?"
      toHTMLString: ->
        #console.log "toHTMLString not handled for #{AP @unrefined()}"
        "?"
      })

    ref.forType(comps.addition, {
