A <rule abstract="true" id="x"> is a template that does not fire on its own; a concrete rule pulls in its let bindings and assertions with <extends rule="x"/>, prepended so the concrete rule extends rather than replaces them. Part of #80