# D, <s>133</s> <s>127</s> <s>126</s> <s>125</s> <s>121</s> 119 bytes <!-- language-all: lang-d --> import std.conv,std.stdio;void f(T)(T a,T b,T s=0){for(T j;j++<s;)' '.write;a.writeln;if(a-b)f(a+1,b,s+a.text.length);} Jelly and APL were taken. [Try it online!](https://tio.run/##JYxNDsIgEEb3PQW7QkBS1ugtuAAI6DQtmDJpTYxnx1EX30/e4sXeYX3UDVnDqK@17Op7KFDtXiGyzJ3gjnnlWKC0yyReuW6EZjtLeW5WjGzUxwaYrP/vUixk7k9BUEujgmrSa0xP1EsqN7wL@x6Gn371UDgZuVFmItz7Bw) If you're fine with console-dependent results (goes off the same principle as Giacomos's C answer) here's one for <s>72</s> 71 bytes: import std.stdio;void f(T)(T a,T b){while(a<=b){a++.write;'\v'.write;}} ##How? (Only D specific tricks) - `f(T)(T a,T b,T s=0)` D's template system can infer types - `for(T j;j++<s;)` Integers default to `0`. - `' '.write;a.writeln` D lets you call `fun(arg)` like `arg.fun` (one of the few golfy things D has) - `a.text.length` Same as above, and D also allows you to call a method with no parameters as if it was a property (`text` is conversion to string)