Ramonda

RML008 — a fork branch that returned nothing

// ✗ returns undefined, so the branch is skipped
.and((post) => { post.get("title").set("Renamed"); })
// ✓
.and((post) => post.get("title").set("Renamed"))

What a branch returns is the new value of the forked node, so a block body without return hands back undefined. TypeScript rejects it; this fires when the types were loose enough to let it through. For the same reason a branch that ends in a read replaces the node with what it read.

Next