https://stackoverflow.com/questions/59903779/how-to-parse-json-with-field-of-optional-variant-in-haskell

In the json mentioned there, some properties have type composition. In the original js file, some properties are even functional type.