rescript-react-navigation
rescript-react-navigation copied to clipboard
Proposal: Rewrite with untagged variants
Proposal
Rewriting the bindings by the polymorphic variant using the untagged variant in ReScript v11. e.g. https://github.com/rescript-react-native/rescript-react-navigation/blob/main/src/NativeStack.res#L9-L19
Benefit
Using variant versus polymorphic variant gives us more information at compile time, and is more idiomatic.
With all the new features regarding variants in ReScript 11, I agree that normal variants should be preferred over polymorphic variants for writing new bindings. This was also our philosophy in the new rescript-mui bindings where we make heavy use of untagged variants.
OTOH, for the case of rescript-react-navigation,
- this would mean breaking changes with little visible benefits to the user
- it is not just rescript-react-navigation but also rescript-react-native itself that currently prefers polymorphic variants, and we should probably remain consistent with it.