extension View { public func `if`( _ condition: Bool, apply modifier: (Self) -> Result ) -> some View { if condition { EitherView(modifier(self)) } else { EitherView(self) } } public func ifLet( _ value: Value?, apply modifier: (Self, Value) -> Result ) -> some View { if let value { EitherView(modifier(self, value)) } else { EitherView(self) } } }