So overload for thrust::tuple with 0-10 non-null-type arguments?  Isn't that also brittle?  It seems that once C++11 variadic templates are available the implementation will have to change anyway.