why do we need a special case for `generic/none`?