Yes but there's something odd in the dictionary. Here's a result I got for print(areas) for code above:
[
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:4},
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:5},
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:6},
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:7},
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:8},
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:11},
{collider:Area2D:[Area2D:1889], collider_id:1889, metadata:Null, rid:[RID], shape:12}
...
The entries in dictionary look same except the shape key which value changes. I'm boggled.
Here are the rids, print(a.rid.get_id()) :
619
619
619
619
619
619
619
619
619
343
343
343
343
343
343
343
343