           ref.refine(@power()).isEqual(other.power())
       })
 
+
     ref.forDefault({
       isEqual: -> console.log(@); throw "NOT IMPLEMENTED"
     })

          ref.refine(other).isEqual @
        else
          false
      logger.instrument(name: "buildIsEqual function", fn: x)

    ref.forType(comps.expression, {
      isExpressionEqual: (other)->

    logger = logger_builder.build(stringify_objects: false)

    buildIsEqual = (for_type)->
      isEqualFunction = (other)->
        if other instanceof for_type
          if @_simpleIsEqual
            @_simpleIsEqual(other)
