fn dispatch_surface_state_updates<D, U>(
    state: &mut D,
    conn: &Connection,
    qh: &QueueHandle<D>,
    surface: &WlSurface,
    data: &SurfaceData,
    inner: MutexGuard<'_, SurfaceDataInner>,
)
where D: Dispatch<WlSurface, U> + CompositorHandler + OutputHandler + 'static, U: SurfaceDataExt + 'static,