That’s a neat implementation! But that’s a particular case of TBPTT since it assumes that k1 = k2 (tbtt_step in this case).
My implementation had two parameters, k1 and k2, and I found out that there’s a nice improvement when k2 > k1. I’d love to contribute when I had some time.