reduce: reduce structs/enums/etc better