Beyond this, I’m also far from convinced that this is actually something that we want. Making choice of representation automatic sounds good on paper, but in practice it introduces yet another source of uncertainty regarding performance. In general, data representation choices are some of the most critical decisions that an author much make when designing their program. Leaving these to the compiler seems to me to be a mistake.
In my opinion our libraries already make it harder to reason about performance than necessary (e.g. due to implicit fusion and the heavy reliance on poorly-tested rewrite rules). Making data representation implicit would only worsen this problem.