(type u32 (primitive u32)) (type A (enum (A1 (x u32)))) (decl Ext1 (u32) A) (decl Ext2 (u32) A) (extractor Ext1 ext1) (extractor Ext2 ext2) (decl Lower (A) A) (rule (Lower (and a (Ext1 x) (Ext2 =x))) a)