Add standalone type traits.
Eliminate use of thrust::detail.
Eliminate use of thrust::detail.
Eliminate use of thrust::detail.