         return ErrorValue.nan
     }
     return DoubleValue(number: result)
-}))
+}
 
 fileprivate func subtractValues(_ operand1: Value, _ operand2: Value, _ context: EvaluateContext) -> Value {
     let numerableValue1 = operand1.cast(to: .numerable, context: context)

    return DoubleValue(number: result)
}

fileprivate let subtract = binaryOperator(dereferencing(subtractValues))

fileprivate let multiply = binaryOperator(dereferencing({ (operand1, operand2, context) in
    let numerableValue1 = operand1.cast(to: .numerable, context: context)
    if numerableValue1 is ErrorableValue {
        return numerableValue1

        return ErrorValue.nan
    }
    return DoubleValue(number: result)
}

fileprivate let unaryPlus = unaryOperator(dereferencing: true) { $0.0 }

fileprivate func unaryNegate(_ parameters: [Expression], _ context: EvaluateContext) -> Value {
    if parameters.count != 1 {
