pub fn with_scale_factor<P>( program: P, f: impl Fn(&<P as Program>::State, Id) -> f64, ) -> impl Program<State = <P as Program>::State, Message = <P as Program>::Message, Theme = <P as Program>::Theme>where P: Program,