   ['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, {

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


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

      mapconcatWithMethod: (method)->
        _(@expression).map((it)-> ref.refine(it)[method]()).join(' ')
      });

    ref.forType(comps.blank, {
      toString: -> ""
      toHTMLString: -> ""
      })

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