Prototype k rewrite machine

I call it K rewrite machine but it's really just a simple interpreter so far. Eventually, this would become a a fast abstract rewrite machine and the starting point of native code generation.
This feels really weird what you are doing with the input and output stream cells... Can you explain to me why you can't solve the problem more generically without introducing two new types of indexing information?