> If this is intentional, it seems like an arbitrary restriction. Unicode characters are unambiguously
> classified into upper-case, lower-case and neither. If they can be used anywhere within an
> identifier, why not at the start of a constant?

I believe it is intentional as per the discussion in
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/19378 . As
matz wrote in that thread, to change this behaviour would be to make
the semantics of the program locale dependent. Plus, outside of
regexes, Ruby doesn't really grok concepts like Unicode properties
yet.