rewrote evalPred to preserve error messages. Also rewrote the evalScript definition of Cond to account for the new return type.