Two areas where F# might be preferable:
- You can use reflection to generate encoders and decoders. These can be mixed and matched with hand written encoders and decoders.
- You can just throw an exception when unpacking a result or maybe into a value
- You can use “?” and “!!” operators to tell the compiler that the type is correct when working with dynamic objects