func equal(left, right interface{}) (bool, error) {
    sLeft, sRight := binaryStrings(left, right)

    // Compare as numbers.
    if floatLeft, floatRight, ok := binaryFloats(sLeft, sRight); ok {