So I am trying to get safety on my client side GraphQL queries (so if there is a better approach to this let me know). 

But what I have been doing is defining my query like this. 

```
export const tenantManagePageQuery = async (tenantId: string) =>
    graphQLClient.request<{
        tenants: TenantManagePageQueryTenant[];
    }>(
        /* GraphQL */ `
            query tenants($tenantId: String!) {
                tenants(tenantIds: [$tenantId]) {
                    id
                    description
                    name
                    approvedUsers {
                        id
                        alias
                    }
                    pendingUsers {
                        id
                        alias
                    }
                }
            }
        `,
        { tenantId },
    );

```

in order to define the `TenantManagePageQueryTenant` type I do something like this 

```
interface TenantManagePageQueryTenant
    extends Pick<Tenant, 'id' | 'description' | 'name'> {}

```

Where the base Tenant model is my GQL model type. 

Is there anyway to do this kind of Pick statement but to also pick the nested properties. 

something like 

```
interface TenantManagePageQueryTenant
    extends Pick<Tenant, 'id' | 'description' | 'name' | Pick<approvedUser| 'id' | 'alias'> {}

```