                     datum.setType Datum.DatumType.R_STR
                     datum.setRStr @data
                 else
-                    throw new RqlDriverError "Unknown datum value `#{@data}`, did you forget a `return`?"
+                    throw new RqlDriverError "Cannot convert `#{@data}` to Datum."
         term = new Term
         term.setType Term.TermType.DATUM
         term.setDatum datum

            i++

        body = func(args...)
        argsArr = new MakeArray({}, argNums...)
        return super(optargs, argsArr, body)


class RDBOp extends RDBVal
    constructor: (optargs, args...) ->
        self = super()
        self.args =
            for arg,i in args
                if arg isnt undefined
                    rethinkdb.expr arg
                else
                    throw new RqlDriverError "Argument #{i} to #{@st || @mt} may not be `undefined`."
        self.optargs = translateOptargs(optargs)
        return self

