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:
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.