           @isExpressionEqual(other)
     })
 
+
+
+    # Multiplication
+    ref.forType(comps.multiplication, {
+      isEqual: (buildIsEqual(comps.multiplication))
+      })
+
+
+    # Number
     ref.forType(comps.number, {
       isEqual: (buildIsEqual(comps.number)),
       _simpleIsEqual: (other)->

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


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

    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)->
