trait Attr { fn name() -> &'static str } impl Attr for bool { fn name() {"condition"} } struct Opacity(f64); impl Attr for Opacity { fn name() {"opacity"} } #[node] fn opacity(_: impl Ctx, input: T, x: ReadAttr, opacity: WriteAttr) -> T { if x { *opacity = 1.; } input }