Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When I reused the pattern of nested
<~
in #100, I got surprised that the types seemed off. Indeed, I ended up with aState StdGen (State StdGen Situation)
instead of just aState StdGen Situation
, but hadn't noticed becausewrap
takes the quickcheck-like approach of recursing on the inner types. This PR at least clarifies things, so the types are what I'm used to. Should I go further and remove the recursion fromwrap
? I considered it (I even have the change stashed right now), but ultimately think that having the extra flexibility might be a good thing in case something weird happens in the future. It's not even the end of the world if everything works with weird types and I don't notice the weirdness until much later, as previously demonstrated. but when I do notice the weirdness, I should get rid of it so the code is easier to understand in the future, hence this PR.