Fix for issue #130

The problem seems to be in the ```Grater```. The default arguments' values are pre-cached in the  ```betterDefaults```. It's Ok for idempotent expressions (e.g. primitives and such), but the other expressions should be reevaluated every time the constructor is called.

Not sure if my fix is the best way to do it, but at least it passed the tests. I simply avoided consulting ```betterDefaults``` for the cached field values and simply do evaluation in place.

Please have a look.