MASK_LSH
#define GET_FIELD(m, v) (((v) & (m)) >> MASK_LSH(m))
(((v) & ~(m)) | ((((typeof(v))(val)) << MASK_LSH(m)) & (m)))