>     BranchStore .init(type, args) should create a new object version, and return its ID
>   ․ BranchStore .init(type, args) should create a new object version, and return its ID
>     BranchStore .trans(v, p, u) -> {v,r} should transform an object version according to the given patch
>   ․ BranchStore .trans(v, p, u) -> {v,r} should transform an object version according to the given patch
>     BranchStore .fork(b, v) should create a new branch, starting at the given version ID
>   ․ BranchStore .fork(b, v) should create a new branch, starting at the given version ID
>     BranchStore .head(b) should return the last known head of a branch (can be somewhat stale)
>   ․ BranchStore .head(b) should return the last known head of a branch (can be somewhat stale)
>     BranchStore .head(b) should fail gracefully if the branch has not been initialized
>   ․ BranchStore .head(b) should fail gracefully if the branch has not been initialized
>     BranchStore .push(b, v) should merge the changes made in v to branch b
>   ․ BranchStore .push(b, v) should merge the changes made in v to branch b
>     BranchStore .push(b, v) should throw an exception on a conflict
>   ․ BranchStore .push(b, v) should throw an exception on a conflict
>     BranchStore .pull(v, b) should return a merge between the head of b and v
>   ․ BranchStore .pull(v, b) should return a merge between the head of b and v
>     BranchStore .pull(v, b) should resolve conflicts by preferring the branch
>   ․ BranchStore .pull(v, b) should resolve conflicts by preferring the branch
62,63c80,81
<     MergingObjectStore .trans(v, p, u) -> {v,r} should apply a patch to the state
<   ․ MergingObjectStore .trans(v, p, u) -> {v,r} should apply a patch to the state
---
>     MergingObjectStore .trans(v, p) -> {v,r} should apply a patch to the state
>   ․ MergingObjectStore .trans(v, p) -> {v,r} should apply a patch to the state
223c241
<   110 passing (271ms)
---
>   119 passing (331ms)