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