>     composite patch apply weak should provide the original result (with possible conflict information) in the result's "orig" field: [2K[0G  ․ composite patch apply weak should provide the original result (with possible conflict information) in the result's "orig" field
37,40c38,41
<     EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should apply patch to s1 by invoking the evaluator's apply method, to retrieve s2 and res: [2K[0G  ․ EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should apply patch to s1 by invoking the evaluator's apply method, to retrieve s2 and res
<     EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should use the patch evaluator if one exists for the patch type: [2K[0G  ․ EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should use the patch evaluator if one exists for the patch type
<     EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should pass the evaluator as the "this" of the called method: [2K[0G  ․ EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should pass the evaluator as the "this" of the called method
<     EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should report a conflict if a propagated patch conflicted: [2K[0G  ․ EvalEnv apply(s1, patch, cb(err, s2, res, eff, conf)) should report a conflict if a propagated patch conflicted
---
>     EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should apply patch to s1 by invoking the evaluator's apply method, to retrieve s2 and res: [2K[0G  ․ EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should apply patch to s1 by invoking the evaluator's apply method, to retrieve s2 and res
>     EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should use the patch evaluator if one exists for the patch type: [2K[0G  ․ EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should use the patch evaluator if one exists for the patch type
>     EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should pass the evaluator as the "this" of the called method: [2K[0G  ․ EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should pass the evaluator as the "this" of the called method
>     EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should report a conflict if a propagated patch conflicted: [2K[0G  ․ EvalEnv apply(s1, patch, unapply, cb(err, s2, res, eff, conf)) should report a conflict if a propagated patch conflicted
45,46c46,47
<     EvalEnv unapply(s1, patch, cb(err, s2, res, eff, conf)) should do the opposite of applying patch to s1. Applying patch to s2 should result in s1, given that conf is false: [2K[0G  ․ EvalEnv unapply(s1, patch, cb(err, s2, res, eff, conf)) should do the opposite of applying patch to s1. Applying patch to s2 should result in s1, given that conf is false
<     EvalEnv unapply(s1, patch, cb(err, s2, res, eff, conf)) should use the unpatch evaluator if one exists for the patch type: [2K[0G  ․ EvalEnv unapply(s1, patch, cb(err, s2, res, eff, conf)) should use the unpatch evaluator if one exists for the patch type
---
>     EvalEnv query(s, q, cb(err, res)) should do the opposite of applying patch to s1. Applying patch to s2 should result in s1, given that conf is false: [2K[0G  ․ EvalEnv query(s, q, cb(err, res)) should do the opposite of applying patch to s1. Applying patch to s2 should result in s1, given that conf is false
>     EvalEnv query(s, q, cb(err, res)) should use the unpatch evaluator if one exists for the patch type: [2K[0G  ․ EvalEnv query(s, q, cb(err, res)) should use the unpatch evaluator if one exists for the patch type
89c90
<   86 passing (98 ms)
---
>   87 passing (98 ms)