In Push-Pull Functional Reactive Programming by Conal Elliot, Reactives are given a Monad instance in section 7.1.3. What happens if both the inner and outer reactive fire that the same time for join?
never :: Event a
MkFuture :: Time -> a -> Future a
pure :: a -> Future a -- at time zero
MkReactive :: a -> Event a -> Reactive a
MkEvent :: Future (Reactive a) -> Event a
join (MkReactive (MkReactive "foo" never) (MkEvent (pure (MkReactive "bar" never)))
Should "foo" be ignored or included in the result on the join?