Code with a mix of Y%#$ and lower_UPPER_CamelCase looks ugly.
I have learned to ignore the inconsistencies in the languages that I have to use, especially if it's for a paying gig. Otherwise I would go crazy! Every single language has them, I'm not kidding.
UpperCamelCase: modules & types
snake_case: variables and functions
This convention is shared, for example, with elixir (also FP Lang)
Also bang_functions! By convention, not enforced, indicate that the function may mutate one of its passed parameters. (Taken from Ruby's "be careful with this member function" idiom)
@at_sigil: macros (enforced by the language)
What is Y%#$?