Fixtype of lifetimes.
This is a tagged union type, introduced by fty::deftagsum.
This represents a storage duration [C:6.2.4], but only three kinds, excluding the allocated kind. We use the term `liftetime' because it is just one word, and also to avoid implying that there are only three storage durations, when there are in fact four. Since a storage duration defines the kind of lifetime of an object, one could argue that there are four kinds of lifetimes too; however, for practicality, we need a fixtype for only these three kinds of lifetimes (or storage durations), and so we use the term `lifetime'. This must be though as the possible kinds of lifetime of declared objects; allocated objects are not declared, but just created via library calls.