Compose several taps into one. Pass the result to createGame({ tap }) when
you want the recorder and a logger and an analytics sink to see every
dispatch.
Calls run in argument order; one tap throwing aborts the rest for that
dispatch (same shape as DOM event listeners — caller catches if they care).
Compose several taps into one. Pass the result to
createGame({ tap })when you want the recorder and a logger and an analytics sink to see every dispatch.Calls run in argument order; one tap throwing aborts the rest for that dispatch (same shape as DOM event listeners — caller catches if they care).