Still needs some work, but this should help clarify the general pipeline
MPTQGIIJUNQSRWF5G63WDZLYH6EYURPENFTJ7J46VKPAWC6QQUGAC
EENFIDOQSLMIHYREARFRGQAIWCGE2TPTLHGDKMS6BL3QICWK7DMAC
YKL5NCLHVHFQMBIWC6HW4NFPPYK5DR6XTCKJ5VBHNLVP2RO3H24AC
BA5Y6VSEHJQBOYBS6R6FE6IZDRNAPNIN5ITJXWK7L46RJVHNI7JAC
2N3KOCP74PCK2ETO5PCWBDR5PA57DDNT2KR4JLBPZPQPA56SAR4QC
JCYJWUI32EEUQVQBLUNTSWZI6OXZJIRQMDU72DXWTJVU2LJJ6QWQC
GYTRFADRDO4SYXV6V3PEPGGFIRDHQH5YBTKEJCWFAIZ5CX4P46NAC
FLIMM2YMIEXODPNP47RSACQEUN4CKRE2SA2RWKZN6FGKUU57DGJAC
RAWT2FQSTIP6EWFQXMAESASEM6AIFCV4PDO6TRUN6EAFVP3526YQC
QPZ6QNIEGMSQWN65HB7T44HUM42XSXZ6F5JOWEOTFPNDP2PQEKKQC
BSJYWOYSJRERQ45AD7RN3364RYQ5P3IM76S67262VLFZPFO3B5JQC
}
fn xilem_html_element(name: &str, expression: Expr) -> Expr {
Expr::Call(ExprCall {
attrs: Vec::new(),
func: Box::new(expr_path(name)),
paren_token: token::Paren::default(),
args: Punctuated::from_iter([expression].into_iter()),
})