Abstract constructor for Language
Add unicode support.
Back to __init__ constructor
Cleanup
Add more advanced name patterns.
Update race languages to use advanced name patterns