> > > > For instance: > > int x; > > daddr_t* y; > > > > u.b_un.b_words = &x; > > y = u.b_un.b_daddr; > > One would typically *not* do this. One would think not, but the BSD kernel did. That's the whole point.