This gets back to my COBOL arguement. COBOL could do almost all the things that next gen languages could do, but it wasn't adept at it. I believe T-SQL suffers from the same problem. Complex loops, variable management, inline procedures, ability to create and manage objects can all be done or simulated in T-SQL. It is just easier to do in other next gen languages.
This does get into another discussion flying around. When I refer to SQL, I am referring to the set based SELECT, UPDATE, INSERT, DELETE statements. When I refer to T-SQL being replaced by CLR, I am referring to the logical part of SQL such as flow control, variables, etc that normally reside in stored procedures. I know they are the same animal inside SQL Server and that seems to be leading to some confusion.