Quite an interesting read. When explained it seems obvious but this whole "weirdness" is introduced because there are two types of "noexcept". The exception specifier and the exception checker. All because the committee doesn't want to introduce new keywords (which I respect).