pub fn derive_component(input: DeriveInput, shiv: Path) -> TokenStream