This probably shouldn't be a pointer either, because we do not want to allocate pointers to strings on the heap.. You can check if it's valid or not by ensuring that string.d is null when not valid, or else references empty_string