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