distinction between an optional member and a member encoded with a pointer

13 files changed