cudnnSetTensor4dDescriptor & cudnnSetTensorNdDescriptor parameters opposite params

Why is it the that the that cudnnSetTensor4dDescriptor (no stride, tensor format) and cudnnSetTensor4dDescriptorEx(stride, no tensor format) and the nd versions are the opposite cudnnSetTensorNdDescriptor(stride, no tensor format) and cudnnSetTensorNdDescriptorEx(no stride, tensor format)?

cudnnStatus_t CUDNNWINAPI cudnnSetTensor4dDescriptor(
                                cudnnTensorDescriptor_t             tensorDesc,
                                cudnnTensorFormat_t                 format,
                                cudnnDataType_t                     dataType, /* image data type */
                                int                                 n,        /* number of inputs (batchsize)/
                                int                                 c,        /* number of input feature maps*/
                                int                                 h,        /* height of input section */
                                int                                 w );      /* width of input section */
cudnnStatus_t CUDNNWINAPI cudnnSetTensor4dDescriptorEx(
                                cudnnTensorDescriptor_t             tensorDesc,
                                cudnnDataType_t                     dataType, /* image data type */
                                int                                 n,        /* number of inputs (batch size)*/
                                int                                 c,        /* number of input feature maps*/
                                int                                 h,        /* height of input section */
                                int                                 w,        /* width of input section */
                                int                                 nStride,
                                int                                 cStride,
                                int                                 hStride,
                                int                                 wStride );
cudnnStatus_t CUDNNWINAPI cudnnSetTensorNdDescriptor(
                                cudnnTensorDescriptor_t             tensorDesc,
                                cudnnDataType_t                     dataType,
                                int                                 nbDims,
                                const int                           dimA[],
                                const int                           strideA[] );
cudnnStatus_t CUDNNWINAPI cudnnSetTensorNdDescriptorEx(
                                cudnnTensorDescriptor_t             tensorDesc,
                                cudnnTensorFormat_t                 format,
                                cudnnDataType_t                     dataType,
                                int                                 nbDims,
                                const int                           dimA[] );