Agreed, I can't see any major advantages either way so happy to leave as is.

I think what Daniel had in mind was:

proc qc::multimap_get_all { multimap key } {
      #| Return all value for this key
      set list {}
      foreach index [lsearch -all [multimap_keys $multimap] $key] {
           lappend list [lindex $multimap [expr {($index*2)+1}]]
      }
     return $list
}