folding for struct enum const