276754260a
Also improve tree generator: now it generates abstract overrides for `replace` functions and correctly generates replace for fields with overriden type