add tag
निरंजन
This question doesn't have a specific problem to be solved. It is more like a LaTeX3-theoretical question. I like to code meaningfully, but sometimes the meaning of some programming constructs is not clear. In that case there is a risk of them being used in places where they are not designed to be used. The `l3prop` module is like this for me. Most resources I have seen regarding it mention that it is intended to store properties, but what qualifies as a property? I don't know if it has a specific meaning in the programming world, because I don't have experience in writing code in any other language other than LaTeX. Let's take a small example. I can do something like this with simple `tl` manipulation:

```
\ExplSyntaxOn
\cs_new_protected:Npn \__tmp_cmd:nn #1#2 {
  \tl_gclear_new:c { g__tmp_ #1 _tl }
  \tl_gset:cn { g__tmp_ #1 _tl } { #2 }
  \tl_show:c { g__tmp_ #1 _tl }
}

\__tmp_cmd:nn { foo } { bar }
\ExplSyntaxOff

\stop
```

but I can also do something like this with prop:

```
\ExplSyntaxOn
\cs_new_protected:Npn \__tmp_cmd:nn #1#2 {
  \prop_gput:Nnn \g_tmpa_prop { #1 } { #2 }
  \prop_show:N \g_tmpa_prop
}

\__tmp_cmd:nn { foo } { bar }
\ExplSyntaxOff

\stop
```

This is just a small example of how one can store data using `prop` or `tl`. I have a few questions regarding this:

1. In which real world contexts would a `tl` be more semantic than a `prop` list (and vice versa)?
1. I have read the difference between `flat` and `linked` prop lists. Any real world example for understanding the meaning of flat and linked in the names of these constructs? Why flat, why linked? What does it mean?
1. Will `prop`s be slower when compared to `tl`s for storing and retrieving data? I know that for larger datasets, `prop`s that are `linked` are faster than `flat`, but in general would `tl`s be faster or `prop`s? My intuition says that `tl`s will be faster, but how fast? How to know when to use which? I like how `prop` data is stored, retrieved, organized and even displayed. Basically I like `prop` better than `tl`s in most aspects, but how to know which one is better suited in which context?

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.