Here we pass retry as a substitution for a missing action. It would be more sensible to pass Maybe (STM ...) and let the layer below decide what to do when the action is not given.
retry
Maybe (STM ...)