This seems like a fairly basic thing to do, so I am looking for a more-or-less short, builtin and easily readable solution.
The shortest thing I managed to conceive is
hana::unfold_left<hana::tuple_tag>( hana::int_c<n>, [] ( auto count ) {
return hana::if_( count == hana::int_c<0>, hana::nothing,
hana::just( hana::make_pair( count - hana::int_c<1>,
hana::type_c<T> ) ) );
} );
which is far from being short and readable...