1type A = #{f1 : U8, f2 : Bool, f3 : X} 2type X = {g1 : Y, g2 : U8} 3 4type Y 5 6foo : A -> () 7foo #{f1, f2, f3} = let f3_t { g1 } = f3 8 and _ = free_Y g1 9 and _ = free_X f3_t 10 in () 11 12-- bar : X -> () 13-- bar x = let x_t { g1 } = x 14-- and _ = free_Y g1 15-- and _ = free_X x_t 16-- in () 17 18free_X : X take (..) -> () 19free_Y : Y -> () 20 21