#P : person
     ( id => @
             ( first => John
             )
     , id => name
             ( last => #S
             , first => string
             )
     , spouse => married_person
                 ( address => #A : location
                 )
     , spouse => @
                 ( id => name
                         ( first => Jane
                         , last => #S : Doe
                         )
                 , id => name
                         ( first => string
                         )
                 , spouse => #P : married_person
                                  ( address => #A
                                  )
                 )
     )