<% render(instance) %> <%= includes((1..x+1).size) %> #include template struct result { }; struct f { template constexpr result operator()(X, State) const { return {}; } }; template struct x { }; int main() { auto go = boost::hana::scanr1(f{}, <%= list( (1..x+1).map { |i| "x<#{i}>" }, (1..x+1).map { |i| "x<#{i}>{}" } ) %> ); }