Generalize support for struct fields