     ref.forDefault({
       isEqual: -> console.log(@); throw "NOT IMPLEMENTED"
     })
+    # Number
+    ref.forType(comps.pi, {
+      isEqual: (buildIsEqual(comps.pi))
+    })
 
+    # Subtraction
+    ref.forType(comps.subtraction, {
+      isEqual: (buildIsEqual(comps.subtraction))
+    })
 
     class ExpressionEquality
       initialize: (@first)->

      logger.instrument(name: "buildIsEqual function", fn: isEqualFunction)


    ref.forType(comps.expression, {
      isExpressionEqual: (other)->
        logger.info("isExpressionEqual", @unrefined(), other)

          @isExpressionEqual(other)
    })



    # Multiplication
    ref.forType(comps.multiplication, {
      isEqual: (buildIsEqual(comps.multiplication))
      })


    # Number
    ref.forType(comps.number, {
      isEqual: (buildIsEqual(comps.number)),
      _simpleIsEqual: (other)->
