It was suggested that I try changing
:: Matrix :== !{!Vector} // Version A.
to
:: Matrix :== !{#Vector} // Version B.
Well, I tried it. Here are the times I got just now.
Version A:
453 sec (user) + 13 sec (GC) = 466 sec (total).
Version B:
507 sec (user) + 14 sec (GC) = 521 sec (total)
Interesting, no?