Why is it so important to have all this machinery around linspace and eye? collect is more than enough in my opinion and all the proposals for keeping both versions and pass a type as a parameter are diluting the main issue here: the need for a smart mechanism that handles things efficiently and seamlessly for the user. Teaching is a completely separate matter, let's not enter in this territory, which is much more delicate and hard to be done right.
Recaping the issue: B = I*A should be as efficient as B = copy(A). Right now it is not. -Júlio
