func (u *union) clear(m value.Map, f field) {
	for _, fieldName := range u.f {
		if field(fieldName) != f {
			m.Delete(string(fieldName))
		}
	}
}
// clear removes all the fields in map that are part of the union, but
// the one we decided to keep.
clear removes all the fields in map that are part of the union, but
the one we decided to keep.
// clear removes all the fields in map that are part of the union but // the one we decided to keep .
func (u *union) clear(m value.Map, f field) {
	for _, fieldName := range u.f {
		if field(fieldName) != f {
			m.Delete(string(fieldName))
		}
	}
}
func ( u * union ) clear ( m value . Map , f field ) { for _ , fieldName := range u . f { if field ( fieldName ) != f { m . Delete ( string ( fieldName ) ) } } }
clear removes all the fields in map that are part of the union, but
the one we decided to keep.
clear removes all the fields in map that are part of the union but the one we decided to keep .