Looking through the FSharpQA testcode, I came across this test case
// DU
type ख़तरxनाक =
| Uअलगाववादी // There's no uppercase/lowercase in Hindi, so I'm adding a latin char
| Aमिलती of ख़तरनाक
| X
I think we should lose the requirement that DU identifiers must be upper case. As well as the warning about Upper case identifiers in patterns. There are plenty of languages that do not have the notion of uppercase and lowercase, building language requirements and conventions based around our notions of the alphabet is probably something we should avoid.
In the test above, the hindi code needed to have an upper case latin character prefixed in order to successfully compile.
<data name="UpperCaseIdentifierInPattern" xml:space="preserve">
<value>Uppercase variable identifiers should not generally be used in patterns, and may indicate a missing open declaration or a misspelt pattern name.</value>
</data>
<data name="NotUpperCaseConstructor" xml:space="preserve">
<value>Discriminated union cases and exception labels must be uppercase identifiers</value>
</data>