Используя reflex-frp и reflex-dom, мне нужно отложить события на основе поведения. У меня есть:
delayEvent :: (MonadWidget t m, Reflex t)
=> Event t () -> Behavior t NominalDiffTime -> m (Event t ())
delayEvent e b = switch . current <$> widgetHold (return never) eDelsM
where
eDelsM = (`delay` e) <$> b <@ e -- Event t (m (Event t ()))
однако событие возврата никогда не срабатывает. Есть ли простая ошибка, которую я здесь делаю, или весь подход нуждается в переосмыслении?