USING: classes.tuple kernel prettyprint sequences ; TUPLE: worker first last occupation ; TUPLE: lawyer < worker ; TUPLE: dentist < worker ; : field-sets-class ( cls -- sub ) dup occupation>> { { "lawyer" [ lawyer ] } { "dentist" [ dentist ] } [ drop worker ] } case [ tuple>array [ ] each ] dip boa nip ; : field-sets-class-2 ( cls -- sub ) dup occupation>> { { "lawyer" [ lawyer ] } { "dentist" [ dentist ] } [ drop "fake-obj" worker ] } case [ tuple>array [ ] each ] dip boa nip ; "j" "mack" "lawyer" worker boa field-sets-class .