Case Insensitivity vs. Case-Preservation (can't have both?)

After looking at a lot of codebases that named their types in UpperCamelCase, I've decided that I rather like it. It's done in Rust:

Naming - Rust API Guidelines

R3-Alpha's sources used all-caps and incorporated "REB" into the names, perhaps as part of an attempt to avoid collisions if working with libraries:

REBBLK *blk;  // a "block" (actually an array, as the series could be used by groups)
REBVAL *val;  // values

Ren-C has been reorganized and doesn't mix these internal names with external codebases due to how well the libRebol API works for writing extension code. I also put moved the asterisk to indicate the pointer as part of the type (more a C++ convention). So the internals look along the lines of:

Array* new_array;
Value* v;
KeyList* keylist;
StackValue(*) stack_value;

Whether Rebol code would be better if it went this way, I dunno.

foo: function [arg [Block Integer]] [...]
bar: make Object [x: 10 y: 20]

foo: function [arg [block! integer!]] [...]
bar: make object! [x: 10 y: 20]

Just wanted to mention that the internals have moved to UpperCamelCase for types in the C code, and it's a pretty radical improvement for readability.