Overpass union of ways, nodes and relations within an area

Hi, I’m wondering if anyone can help me understand why my overpass query does not output the union, but just the results for the first clause in the union.

For example the following query happily gives me all the nodes I’d expect (365 to be precise), but zero ways.

[out:json][timeout:25];
area["ISO3166-1"="GB"][admin_level=2];
(
  node["sport"="climbing"](area);
  way["sport"="climbing"](area);
);
(
    ._;
    >;
);out body qt;

Reversing the order of the node and way clauses gives me all the ways I’d expect (394) plus three extra nodes - but not most of the ones that appear when the node clause comes first.

Any suggestions? Right now my workaround is two queries - and two api hits - which feels suboptimal.

Thanks and regards, Will

Ah figured it out - the area variable is an implicit variable overwritten by the most recent query - so the area query for GB was overwritten by the node query hence no ways were returned. The following works beautifully:

[out:json][timeout:25];
area["ISO3166-1"="GB"][admin_level=2]->.a;
(
    node["sport"="climbing"](area.a);
    way["sport"="climbing"](area.a);

);
(
    ._;
    >;
);out body qt;