I have been using a big union type in my approach to internationalisation. I have one entry per string that I need to translate. I also built a decoder which can decode a json file with the translated strings. The type & decoder are generated automatically from a yaml file of translations.
Unfortunately, I’ve just reached over 256 translation strings and the Decode.Pipeline based decoding is being compiled to code that uses nested functions and has reached the limit that Firefox is happy to deal with. Chrome & Edge seem to be fine. Firefox gives an InternalError: function nested too deeply error.
I realise that some i18n approaches have gone with a function per translation rather than a union type entry per translation and I guess I’ll be moving towards that. This union entry approach felt promising prior to this moment and was seemed preferable as I would prefer storing union entries as data in the model if that was needed, rather than functions, but in truth it hasn’t turned out to be necessary.
Sharing this in the hope that it helps others or that someone might be able to offer an easier solution that the re-write I’m currently facing 
Edit: Title changed from limit on Union type entries as really it has nothing to do with that and more to do with the decoding I was choosing to do.