Is there in AppleScript any way to use "X of every" to get multiple properties of each object to create a record? It is possible to with the script:

tell application "Safari"
    set urls to URL of every tab of every window
end tell


when execute, get all urls of every tab of every window (two dimensional list)

Result:
 {{"http://domain1", "http://domain2", ...}, {"http://domain3", "http://domain4", ...}, {...}}


But is it possible with:

tell application "Safari"
    set (urls &amp; name) to URL of every tab of every window
end tell


to get a record instead of list:

Result:
 {{{url: "http://domain1", name: "domain1 - foo"}, {url: "http://domain2", name: "domain2 - bar2"}, {...}}, {{url: "http://domain3", name: "domain3 - foo3"}, {url: "http://domain4", name: "domain4 - bar4"}, {...}}}


Is it possible, or should I use only repeat?
It is not possible to get a record with a single object specifier, but you can get a list:

tell application "Safari"
    {URL, name} of tabs of windows
end tell
-- {{{"http://url1", "title 1"}, {"http://url2", "title 2"}}}


For a record, you can use a repeat loop:

set r to {}
tell application "Safari"
    repeat with t in tabs of windows
        set end of r to {|url|:URL of t, |name|:name of t}
    end repeat
end tell
r
-- {{|url|:"http://url1", |name|:"title 1"}, {|url|:"http://url2", |name|:"title 2"}}