Uh, what? The second DSL example is just pure Rust.

> btn.finish().with_child(pipe!($read(cnt).to_string()))

That second macro isn’t for constructing UI, which is the point of the two examples.