06:38
<Ashley Claymore>
If the keyword only works in some places and not others might be confusing. e.g if can't change:

```
function f(cb: immediate Fn) { cb() }
```

to

```
type T = immediate Fn;
function f(cb: T) { cb() }
```
12:03
<rbuckton>
If the keyword only works in some places and not others might be confusing. e.g if can't change:

```
function f(cb: immediate Fn) { cb() }
```

to

```
type T = immediate Fn;
function f(cb: T) { cb() }
```
unique symbol is similarly restricted
14:19
<Ashley Claymore>
True. It's like the reverse. And its not `const s: symbol = unique new Symbol()`
good point 
19:24
<bakkot>
Michael Ficarra: why does https://github.com/michaelficarra/proposal-concurrency-control include concurrent reduce? does that make sense in some way I'm not immediately seeing?
19:26
<bakkot>
I guess the idea is that a lot of operations are associative? but the types only work out if your reducer function is (T, T) -> T and not (A, T) -> A
19:29
<Michael Ficarra>
yep, don't do concurrent reduce if your operation isn't associative