support nested `expose` declarations