macro_rules! render {
    (
    $component:ident($($prop:ident: $value:expr),* $(,)*) { $($children:tt)* }
  ) => { ... };
    (
    $component:ident($($prop:ident: $value:expr),* $(,)*)
  ) => { ... };
    (
    @children [$($parsed:tt)*]
  ) => { ... };
    (
    @children [$($parsed:tt)*] $component:ident($($prop:ident: $value:expr),* $(,)*) { $($children:tt)* } $($rest:tt)*
  ) => { ... };
    (
    @children [$($parsed:tt)*] $component:ident($($prop:ident: $value:expr),* ) $($rest:tt)*
  ) => { ... };
}