has the same semantics as the corresponding macro in
the C standard library header <stddef.h>, but
accepts a restricted set of type
arguments in this International Standard.
It is recommended that implementations choose types for ptrdiff_t and size_t
whose integer conversion ranks are no greater than that of
signed long int unless a larger size is necessary to contain all the possible values.