As above, I think it's best to keep map semantics separate from multimap, but Dart's support for method cascades offsets this enough to still be very readable:
multimap
    ..addAll('a', [1, 2, 3])
    ..addAll('b', [4, 5, 6]);