lowering_nested_lowerable
A :lowering form is a positional child of another :lowering form; container and child can’t both lower.
Container lowering puts :lowering on a container and leaves its
children plain data: the one hook invocation consumes every child at
once. If a child also declares :lowering, both hooks fire in the
same layer (the container consumes the child while the child lowers
itself) and their output overlaps or orphans (often surfacing later
as a confusing duplicate_cross_ref_target).
Fix it by declaring :lowering on the container OR the child, never
both. In container lowering the children stay data; only the
container lowers. The check is emit-only, so lowering still runs; the
diagnostic just names the contradiction at the child.
Run sjon explain lowering_nested_lowerable to read this at a terminal, browse every code, or work through diagnostics-driven repair if you want the habit rather than the answer.