Need help adding a menu from iced_aw

I have a working app but am trying to add a menu to it.

My very simple first steps

let b = Button::new(     text("function").into())
            .padding([4, 8])
            .on_press(Message::Constant(Pi.name.to_string()))
            ;

        let mb = MenuBar::new(vec![
            Item::with_menu(b, menu!((text("a").into())(text("b").into())(text("c").into())))
        ]);

Fail with

262 |             Item::with_menu(b, menu!((text("a").into())(text("b").into())(text("c").into())))
    |             --------------- ^ the trait `From<iced::widget::Button<'_, Message, _, _>>` is not implemented for `iced_core::element::Element<'_, _, _, _>`, which is required by `iced::widget::Button<'_, Message, _, _>: Into<iced_core::element::Element<'_, _, _, _>>`
    |             |
    |             required by a bound introduced by this call

I can’t see why, especially as I get the useful :stuck_out_tongue: help from rustrover that

the following other types implement trait `From<T>`:
...
From<iced_widget::button::Button<'a, Message, Theme, Renderer>>>
...

:face_with_open_eyes_and_hand_over_mouth:
After sleeping on it, I realised this was probably a version problem. I was using the development version of iced and iced_aw 0.9.3

Reverting to iced 0.12.1 fixed this issue, but left me with many other things to fix up, mostly about styling.