I did a quick write up on using Variant types for business logic: Using variant types in ReScript to represent business logic - DEV Community
It’s based on the domain driven design book/talk by Scott Wlaschin, which are a great resource for any functional ML family language.