EvaluationResult r0 = ops.get(0).evaluate(record);
EvaluationResult r1 = ops.get(1).evaluate(record);
if (r0.getPayload() instanceof String && r1.getPayload() instanceof String) {
try {
Scheme scheme = Scheme.valueOf((String) r0.getPayload());
IMHandle val = new IMHandle(scheme, (String)r1.getPayload());
return new EvaluationResult(val, r0, r1);
} catch (IllegalArgumentException e) {
// input protocol does not match enum Scheme
return r0.withWarning(ErrorCode.W142);