Assume:
#define L(t) (((t) == NULL) ? NULL : (t)->left) #define R(t) (((t) == NULL) ? NULL : (t)->right) #define red(t) ((t) != NULL && (t)->colour == RED)