`LiteralMapExpression` does not yet support collection-if. This means it's not possible to generate the following: ```dart { if (x != null) 'x' : x, if (y != null) 'y': y, if (z != null) 'z': z, } ``` I need to be able to add these conditions in order to minimize the text-rendered size of sparse JSON maps. Presumably the way to support this would be similar to how `literalSpread` works: ```dart literalMap({ collectionIf(refer('x').isNotNull(), 'x'): refer('x'), // ... }) ``` `Expression.visitLiteralMapExpression` will also need to be updated to support this (and it should work for sets and lists too)..