AlbertHall:
[Restart:]
The program below will only compile if the variable is declared 'char'. None of the other variants shown in the code will compile without error. Both .print and .write behave the same.
I imagine it's because the prototype for the overloaded function in question (from Print class in Print.h) is:
size_t print(const char[]);
There is no corresponding overload prototype for uint8_t[], unsigned char[], etc.