ok. sorry, so the issue is not that some of the runtime data is being interpreted as types, its that decisions are being made based on the data and not solely on the structure of the program.
In the most general sense yes. However you can encode whatever you want on top of a trs, just like how you can encode any computer language in lambda calculus because both are Turing complete models of computation.