nddrylliog/rock — comment on commit 019798b25843bfedcc6fb7929d6e8e7cbf0c8946
File:  line 0
By nddrylliog:

@fredreichbier yes, but the point stands: is it really worth a lot of compiler tricks to be able to write this

```ooc
// note that if we forget this import, rock generates invalid C code. That sucks.
import structs/HashBag

// note that it's obvious from the syntax that it's an associative something, and
// casting is weird in that context, we just got used to abusing it.
a := ["a" => "b", "c" => "d"] as HashBag
```

whereas we could simply get rid of this __OP_CAST overloading stuff for literals and just go with simple functions like this:

```ooc
// Note if I forget that import, it's no big deal, rock will throw
// a compile error 'undefined function: map(...)'
import structs/HashBag

a := bag("a" => "b", "c" => "d")
```

and it doesn't need AST manipulation, etc. etc. What do you think?