►
From YouTube: .NET Design Review: GitHub Quick Reviews
Description
00:00:00 - Approved: Making the info GC.GetMemoryInfo provides public https://github.com/dotnet/corefx/issues/34631#issuecomment-481358549
00:37:15 - Approved: Revisit Index/Range API requirements https://github.com/dotnet/corefx/issues/35972
00:49:27 - Approved: HWIntrinsics API Proposal: VPMOVZXBD and friends need pointer-based overloads https://github.com/dotnet/corefx/issues/35768
01:09:05 - Approved: Take another look at the `COMISS` and `UCOMISS` hardware intrinisics https://github.com/dotnet/corefx/issues/34881#issuecomment-481371966
01:13:43 - Approved: Clarity and control on a JsonDocument lifetime https://github.com/dotnet/corefx/issues/36152#issuecomment-481375975
A
Should
be
like
now,
everything
works
out
to
plan,
so
yeah
I
applied
this
this
blocking
partner
label
so
that
we
can
separate
eyes
or
three
other
things,
because
there's
tend
to
be
too
much
stuff
in
it,
and
people
suffer
priority
salvation
where
we
just
have
people
in
the
room,
they
only
care
about
their
stuff
and
then
I
mean
look
there.
That's
the
that's.
The
thing
Mumbai
only
suffered
like
I,
think
for
like
three
months,
I
think
so
we
should
finally
take
a
look
at
this
VR.
C
So
new
screen
down
but
I
just
want
to
see
you
going
to
the
other
yeah
and
so
there's
two
maybe
eyes,
and
when
I
open
the
the
issue
there
I
only
post,
180
I
but
ii,
any
piano
is
requested
by
some
another
issue
thread.
So
the
DC
memory
info
one
is
basically
just
something
that
we
that
I
exposed
to
be
CL.
It's
a
internal
API
before,
but
you
know
obviously
being
useful
to.
Everybody
else,
gives
you
a
list
of
things
that
they're
all
dirty.
So,
first
of
all,
it's
a
read-only
thing.
C
First,
and
some
of
them
are
things
or
like,
for
example,
the
the
first.
Alright,
you
can
scroll
up
a
little
bit
can
see
the
top
yeah,
so
the
high
memory
lowest
threshold.
That's
something
that
right
now
as
soon
as
the
constant
starts,
it
does
not
change,
but
we
we
we
might
consider
providing
an
option
to
change
it.
You
know,
while
the
processes
and
the
other
ones
are
the
numbers
the
last
GC
saw
so,
for
example,
memory
load.
C
C
E
F
G
H
C
Reason
why
there's
this
concept
is
because
you
know
if
we
don't
talk
about
pinning
for
a
second
right,
if
there's
no
pins
at
all,
when
you
compact
the
heap,
these
are
the
the
free.
Let's
say:
no,
everything
will
survived
every
non
free
object
on
the
heap
survived
these.
These
are
this
numbers?
How
much
you
can
get
back?
C
C
Right,
you
can
then
choose
to
say
like
no,
if
you
think
so
the
example
usage
would
be
like.
Oh,
the
memory
load
is
quite
high,
but
probably
not
high
enough
to
the
high
threshold.
You
know,
but
then
you
told
GC
right.
So
you
know
what,
if
you
know
you
want
to
do
something
you
want
to
react
before
that,
then
you
could
say,
like
hey,
there's
no
total
available
memory,
and
this
is
my
heat.
You
know
total
heap
size
and
looks
like
to
be
a
significant
fermentation
of
the
you
know.
C
C
Right
now
they
are
one
of
the
people
that
are
nothing
for
us.
Yes,
it's.
C
E
C
So
memory
load
and
you
can
get
sort
of
a
if
you're,
using
hosting
API,
which
almost
no
$1
of
I
know
I,
do
know
of
one
team
that
you
start
but
yeah
almost
no
one
does
keep
science,
you
can
not
not
those
heap
size.
You
can
call
it
that
total
memory.
Our
juicy
class
has
another
method
called
internal
memory,
but
that's
sort
of
that's
weren't
heat,
sighs,
fun
meditation,
so
you
can
get
that,
but
it
would
be
nicer
if
you
can
get
both
heap
size
and
composition.
C
J
D
C
C
A
What's
nice,
if
making
it
instructors,
it's
clear
hold
useful
day,
but
if
you
make
them
study
with
only
then
as
soon
as
you
cure
them,
you
get
them,
and
you
know
they
no
longer
snaps
over
this
one
unit
right
there.
No
you
get
like
one
data
pointed
one.
Second,
I
did
it
for
another.
Second,
they
don't
longer
correlate
to
each
other
and
I.
Don't
have
to
know
Tom
making
me.
D
A
And
so
like
in
terms
of
like
comments
like
the
comments
that
are
in
the
code,
I
I,
don't
agree,
like
I,
think
percentages
in
our
case
that
usually
loads
between
zero
and
one,
because
that's
basically,
if
you
want
to
format
them
the
spain
format.
Like
that's
the
factor,
the
the
debate
you
range,
we
expect
to
basically
put
it
into
percentage,
quite
frankly,
whether
it
be
suffix
them
with
percent
or
not.
I,
don't
think
makes
a
huge
difference
because
special
then
load
and
a
percentage
in
nature,
but.
A
C
A
C
My
you
know
also
another
things:
I
mean
I,
have
absolutely
no
objection.
If
you
don't
think
there
should
be
bite
at
the
end
of
that,
but
normally
like
imperfect,
for
example,
where
we
deal
with
numbers
all
the
time,
I
think
if
you
don't
they
bite
in
the
in
spite.
But
if
you
have
like
megabytes
on
for
yours,
you
say:
oh
my
go
guys.
Yeah
yeah.
D
D
C
It's
just
love
saying
you
have
you
know
eight
years
memory
you've
used
four
games
in
physical
memory.
That
means
your
your
memory
load
would
be
50%.
The
high
memory
load
threshold
is
a
threshold
that
GC
considers
to
now.
You've
entered
high
memory
load
situation,
so
normally
this
is
about
90%,
but
you
can
use
a
config
to
change
it.
So.
A
D
D
L
A
A
D
A
D
H
D
H
C
D
C
A
B
L
J
L
L
G
J
J
Way,
it's
already
used
in
context
is
by
doing
comparing,
because
you
keep
memory
no
than
the
high
memory
on
threshold
and
saying
that
the
high
memory,
especially
kind
of
an
absolute
value
that
you
use-
and
you
say
if
I
am
at
80%
of
this-
a
memorandum
threshold.
Then
I'm
your
high
memory
pressure,
for
example,
I,
guess
I'm
going
to
reduce
the
caching.
So
you
really
use
memory
nodes
and
compare
it
to
other.
Like
ok,.
L
C
But
making
the
memory
load
as
double,
because
when
you
specify
something
you
probably
don't
need
to
say
like
wow
like
I,
have
to
in
some
90
I
want
90.1,
it's
fine
to
say
just
90.
But
if
you
have
a
lot
of
memory
by
hundred
twenty
eight
gigs
one
percent
is
a
lot,
then
you
could
wait
for
small
processes.
You
couldn't
want
this
to
be
a
double
that
so
you
can
get
when
you
know
very
precise
numbers.
A
Yeah
I,
don't
have
strong
preferences
like
I
would
generally
say,
like
I
would
try
to
make
ap
eyes.
Look
like
similarity.
I
mean
there
seems
to
be
no
downside
to
making
it
afloat.
I
mean
like
yes,
it's
a
bit
questionable
whether
you
ever
returned
the
video,
but
is
this
seem
to
all
of
you?
Look
at
the
API
one
as
an
in
one
is
the
flow,
but
they're.
Both
percentages
is
just
mean.
That's
alright.
A
F
L
D
When
we
load
which
formula
many
bytes
as
well
but
normalize,
literally
everything
bites
good,
say
like
when,
when
we
detect
this
many
bytes
or
more
on
you,
so
we
trigger
reducing
when
we.
This
was
the
the
memory
load
in
bytes
when
the
last
you
see
at
home
in
his
home,
and
then
you
have
all
the
information
there
available
to
you.
If
you
want
to
do
your
own
ratios
that
way,
we
also
don't
have
to
worry
up
what
versatile.
D
H
H
C
So
you
I
think
that
you
right
I
think
you
guys
think
that
API
should
be
more
like
prominent
in
our
and
how
people
use
a
framework,
but
I
think
people
on
the
runtime
side
are
really
trying
to
push
for
more
configs,
well
more
complex.
That
makes
sense
anyway.
The
configs
won't
be
I.
Imagine
like
documented,
you
know,
talked
about,
and
and
so.
C
G
G
C
I
completely
get
that
I'm
just
also
I.
Have
you
know
I
completely
understand.
We
need
to
be
thoughtful
into
adding
new
API
I'm.
Just
saying
that
complaints
are
also
sort
of
you
know,
probably
not
up
to
the
API
standard,
but
configs
are
not
like
we're
at
least
trying
to
make
them
not
like
completely
hard
to
discover.
We
are
trying
to
make
them.
You
know
to
the
you
know,
stand
in
a
place
where
that's
this
garbled.
G
J
A
D
K
K
O
G
G
C
E
F
C
Very
different,
so
if
I
have
a
heap
that
you
know,
that's
like
one
gig
right,
I
have
500
Meg's
of
3d
objects
right
now
and
next
time.
If
I
do
a
compact
change
into
DC,
I
will
likely
get
more
than
500
Meg's
back
because
of
site
when
the
500
Meg's
I
still
have
other
objects
that
wouldn't
survive.
I
didn't.
C
G
C
D
C
C
G
H
F
L
L
C
C
J
C
Low
does
kind
of
different
memory
limit.
Is
the
physical
memory
loads
which
mean?
Let's
say
you
touched
all
the
pages
that
your
objects
are
on,
then
that
would
be
this
divided
by
available
memory
right,
but
of
course
you
could
be
in
a
situation
where
you
have
a
very
large
object.
You
haven't
touched
to
all
pages
and
that
it
would
only
be
touch
pages
because
it's
a
physical
memory
load
right.
It's
not
minute.
Bytes
yeah,.
J
C
E
G
I
J
G
A
F
C
Bytes
here,
they're
totally
consider
for
allegations.
Yeah
right
I
mean
we're
not
just
saying
oh,
because
these
are
free
objects,
we're
just
gonna,
not
care
about
them
anymore.
Until
next
time
we
try
to
like
squeeze
them
together,
mm-hm,
but
these
are
like
no
next
time.
If
this
is
Gen
0,
you
can
do
something.
We
would
totally
see
you
like
and
we
fit
it
here.
If
we
can
we'll
do
that
before
we
expend
the
energy
first.
J
C
C
I
so
there's
a
long
thread
where
people
are
discussing
this
they're,
like
yeah
I,
believe
some
the
stronger
side
was
saying
like
they
would
call
it
with
his
eyes.
So
true
they
wouldn't
want
they
they
didn't
mind
just
instantly.
This
is
use
in
some
sort
of
like
benchmarking
thing
was.
It
was
even
from
that
Bank
over
phone
guy,
or
maybe
it
was
Adam
yeah.
C
G
You
know
in
a
benchmarking
scenario,
with
this
I'm
trying
to
say
with
this
even
matter
if
you,
if
you
call
it
before
you
start
any
work
associated
with
the
thing
that
you're
measuring
and
then
you
definitively
know
that
the
thing
you're
measuring
has
ceased
to
run
anywhere,
and
you
call
this
again.
You're
gonna
get
a
fairly
accurate
number
right
if
nothing
else
was
happening
in
the
background
like
you're,
not
doing
any
other
background
work.
C
H
You
know,
sizing
true
is:
has
a
at
least
potential
significant
performance
penalty.
I
think
that
I
would
say
that
we
should
go
ahead
and
have
it
default
to
false.
So
somebody
who
doesn't
understand
the
consequence
gets
the
less
impactful
thing
like
if
they're
just
like,
oh
I,
want
to
go
like
blog.
What
this
no
I.
C
H
G
A
C
A
N
A
Went
on
a
plan
for
this
one,
so
I
think
Jeremy
knows
that.
So
basically,
what
we
have
done
is
we
have
changed
the
way
the
teashop
compiler
binds
to
index
in
range,
meaning
originally,
the
goal
was
that
index
and
range
is
just
you
know,
enormous
struct
that
the
compiler
binds
to
stood
next
to.
So,
if
you
want
to
index
into
a
collection
that
uses
the
range,
then
the
collection
physically
has
to
provide
an
index
of
the
tags
range
and
then
the
same
way
you
want
to
use.
A
They
had
character
which
binds
to
index
you
need
for
an
indexer
that
has
that
that
takes
index.
Unfortunately,
there's
a
couple
of
downside,
the
biggest
one
being
that
sometimes
you
just
can't
add
members
like,
for
example,
let's
say
you
want
to
use
our
bedont
interfaces,
mother
and
father
yeah.
They
only
have
one
indexer,
but
the
compiler
team
basic
another
way
where,
instead
of
doing
that,
the
compiler
effectively
emits
the
code
that
takes
the
length,
slash,
count,
property
and
effectively.
Just
does
the
right
thing.
A
So
now
that
means
we
normally
need
to
expose
that
many
indexes
to
take
range
or
or
our
index.
So
what
this
patient
reflexes?
You
know
the
proposal
that
I
hacked
up
yesterday
of
given
the
entire
API
service
that
we,
if
we
did
for
an
index,
let's
go
with
that
and
decide
whether
there's
a
few
things
you
want
to
remove,
and
so
this
is
basically
that
I
think
there
was
some
simple
form
from
Taric
already
on
the
thread.
So
I
think
this
proposal
is
no
longer.
G
A
The
only
reason
I
left
them
in
is
basically
so.
My
understanding
is
that
the
compiler-
let
me
actually
get
this
right
so
yeah,
so
the
so
the
compiler
will
not
do
the
lowering
for
index
on
arbitrary
and
right.
If
you
want
to
slice
using
index
by
itself,
then
you
just
have
no
way
of
doing
it
unless
relate
the
indexing.
Well,.
A
A
A
A
G
A
A
So
that's
so
honestly:
I
have
not
a
strong
opinion.
I
think.
The
reason
why
we
put
it
under
compiler
services
was
who
didn't
expect
anybody
to
do
that
directly
and
having
that
method
seemed
weird
on
an
array,
but
given
that
we
now
have
this
generalized
method,
you
actually
having
an
aesthetic
slice
method.
G
Have
a
strong
opinion
either
I
just
wanted
to
make
sure
we
were
visited
because
I
realized
it
kind
of
slipped
through
without
much
attention
paid
for
it,
because
it
was,
you
know,
just
a
little
helper
for
the
compiler
to
use
so
I
just
wanted
to
make
sure
we
talked
about
it,
but
I
don't
actually
have
a
strong
opinion.
We.
P
A
Basically,
eight,
so
this
there's
two
things
right:
the
the
biggest
problem
was
that
requiring
the
indexer
is
very
unfortunate
in
cases
where
you
have
interface.
It's
because
you,
you
fundamentally
can't
have
an
extension
index
array
so
binding
to
slice,
allows
you
to
say
well,
we
could
add
sliced
methods
or
interfaces
in
the
VCL
and
then
you
can
index
into
them
just
fine,
a
thing
in
case
we
have
a
country
type
like
a
list
of
T.
A
The
idea
was
well
it's
nice
if
we
don't
actually
have
to
add
them
to
begin
with,
because
we,
you
know
it's
just
nice
if
indexing
with
the
index
and
leaves
just
works,
fine
and
then
for
range.
The
problem
that
the
compiler
can
really
decide
what
to
do
for
you,
because
you
you
have
to
decide
what
type
to
create
right.
It's.
D
Well,
I
guess
on
one
hand,
I
have
a
little
bit
of
heartburn
with
putting
extension
methods
like
slice
on
list
of
T
unless
those
extension
methods
have,
unless
those
extension
methods
offer
a
projection
over
that
list
of
T,
without
making
a
duplicate.
Because
normally,
when
you
see
the
word
slice,
you
think
people
are
free,
Norman
and.
G
A
K
A
You
know
when
I
talked
with
Matz
about
it.
Basically,
the
conclusion
was
well
Ranger.
You
know,
ranging
against
this.
Word
is
new
in
the
in
this
thing
and
just
have
to
educate
people
that
well,
if
you
get
an
e
first
of
all,
you
have
to
allocate
something
usually
right,
even
if
it's
a
view,
so
it's
not
like
super
cheap
like
an
index
above
an
in,
would
be,
and
then
the
questions
is
whether
you
get
a
view
or
not
depends
on
the
type.
So
you
have
to
check
and.
D
A
I
think
for
array,
I
think
I
I
can
go
one
way
or
the
other
I.
Don't
have
super
strong
feelings
on
array:
yeah,
balanced
strings
I,
don't
think
you
get
to
a
transparent
like
like
they're,
so
not
usable
for
people
and
extreme
is
just
so
much
more
useful
that
I
think
in
common
code,
where
people
just
don't
care,
because
things
are
relatively
short,
most
of
the
time.
L
G
You
get
that
well,
there's
two
pieces
to
the
nice
index.
You
can
still
do
a
span
and
use
range
like
that's
what
those
memory
extensions
were,
so
you
could
say
as
span
Open
bracket
close
bracket,
it's
not
work.
It's
you.
The
argument
for
returning
the
same
type,
which
is
pretty
much
locked,
is
whatever,
however,
I
feel
about
it,
which
is
I.
Don't
like
it.
But
it's
you
know
it's
whenever
you
start
with
you
end
up
with
yeah.
If.
G
A
This
will
be
Leonard,
win
and
LD
am
I
mean.
To
be
honest,
this
is
one
feature
everybody
have
seen
a
lot
of
custom
made
in
one
way
or
the
other
right
so
I,
don't
doubt
the
either
side
can
you
know
say
that,
based
on
customer
data,
that's
the
right
or
wrong
decision,
but
I
mean
internally
in
an
ABC.
We
have
just
very
different
requirements,
have
been
all
that
right.
A
So,
like
some
things
that
we
like
a
syntactic
sugar
for
the
platform
may
not
make
you
wait
for
the
customer-
and
vice
versa
like
this
so
anyway,
so
I
think
then
this
is
the
one
I
so
to
be
filled
out.
This
list
here,
I
got
from
I,
don't
know
from
where
I
think
was
an
issue
that
I
think
tarik
or
somebody
else
open.
A
Q
A
String
anyway,
right
I
think
so
following
Jared,
he
was
the
one
that
said
earlier,
that
he
doesn't
mind
specially
casing,
string
an
array
and
I
mean
clearly.
The
compiler
today
has
to
do
work
to
special
case
that
gets
up
a
rate
method
somehow
and
whether
the
special
cases
for
this
location,
another
one
I
think-
is
largely
irrelevant.
Well,
what
about
things
like
array,
segments,
I,
guess.
L
If
I
think
run
time,
helpers
should
largely
be
reserved
for
things
that
you
can't
do
in
regular
C
sharp
code
a
lot
of
times,
they're,
currently
things
that
are
actually
implemented
in
the
run
time
with
special
case
support,
and
but
this
sounds
like
it's
just
creating
a
new
array
and
copying
the
existing
sub
array
into
it.
So
that's
a
trivial
c-sharp
code.
There.
D
G
L
L
L
H
Yeah
so
I
wonder
if,
instead
of
slice,
we
would
call
this,
like
you
know
copy
segment
and
then
that
way,
we're
avoiding
the
notion
that
the
word
slice
is
a
deep
projection.
We're
saying
the
word
copy
it's
visible
and
the
compiler
can
special
cases
you're
talking
to
your
a
case,
specifically
yeah,
the
string
already
has
it
at
some
string
yeah.
We
already
understand
the
substring
makes
a
copy.
It's
the
thing
it
does.
Yes,
number
ready
would
be
the
equivalent
come
here,
but
we've
never
had
a
separate
yeah.
L
G
G
D
A
What
we
should
bet
this
decision
with
the
compiler
team
for
sure,
and
they
may
have
strong
opinions
on
that,
but
I
think
that
I
think
it's
in
the
spirit
of
what
the
feature
is.
Writing
to
me.
The
fact
that
it's
named
that
it's
not
an
instance
member,
but
it's
aesthetic,
member,
especially
cased,
in
the
same
way
that
you
know
on
string.
A
A
H
H
H
H
L
D
A
Can
be
a
location
frame
that
could
be
a
view.
I
think
that
I
think
this.
This
is
more
like
the
question
of
like
how
do
you
think
about
the
compiler
feature
in
general
right,
because
the
compiler
feature
just
says:
I
bind
to
method
called
slice.
We
have
no
choice
but
calling
it
slice
in
all
other
cases.
That's
why
why
is
there
a
special
because
array
and
spring
are
given
up?
Are
you
basically
saying
that
any
range
in
excess
should
always
be
a
view?
It's
really
that's
not
the
case.
Well,.
D
It's
no
matter
what
you're
calling
we
control
the
api's
that
developers
use
when
they
interact
with
the
framework
in
the
runtime
correct
like
if,
if
we
create
an
API,
where
it's
likely
for
developers
to
do
something
that
has
performance
implications
that
they
weren't
expecting,
then
that
means
that
we
presumably
could
not
on
our
top
scorer
at
play.
Right.
A
A
A
A
A
B
G
D
A
G
L
Q
H
B
A
B
A
I
think
the
I
think
at
some
point
like
Jerry,
did
the
scanner
and
github
and
XE
I
mean
who
actually
used
slice
and
don't
let
go
there?
Wasn't
that
many
yeah
I
think
the
question
is
just
if
you
look
back
what
was
the
motivation
for
this
feature?
The
motivation
for
this
feature
was
to
fall
right
like
some
minor
perf
canes.
But,
more
importantly,
we
don't
have
to
sprinkle.
A
bunch
of
AP
is
with
the
framework
right.
A
Q
A
A
K
G
Well,
so
speaking
for
someone
who
cares
a
lot
about
perf,
the
only
types
that
I
really
think
that's
going
to
be
an
issue
for
is
array
and
string,
everything
else
isn't
implicitly
convert
mean
most
thing.
Other
things
aren't
implicitly
convertible
to
span
anyway,
and
the
whole
design
for
c-sharp
has
basically
come
down
to
you
get
out
what
you
put
in,
and
so
anyone
using
this
feature
on
their
own
type.
Regardless
of
you
know
what
type
is
they're
going
to
be
using
slice
to
mean
what
you
you
get
out?
What
you
put
in
you.
L
H
L
D
A
N
D
A
L
L
So
so,
basically
for
most
api's,
we
don't
have
explicit
overloads
that
take
a
pointer.
We
just
have
them,
take
the
vector
type
and
then
internally,
the
JIT
will
say
if
this
vector
is
coming
from
memory,
then
emit
the
more
efficient
memory
encoding.
The
problem
with
this
API
in
particular,
is
that
it
doesn't
read
128
bits,
so
you
can't
do
like
SSE
load,
vector
128
and
expect
the
more
efficient
encoding
to
happen.
L
Instead,
this
operates
on
the
lower
half
of
the
register,
based
on
whatever
size,
you're
working
in
so
the
lower
half
of
elements,
so
the
lower
8
bytes
or
the
lower
4
shorts,
lower,
two
floats,
etc,
and
so
we
need
to
have
an
explicit,
separate
overload
that
takes
a
pointer
to
make
it
clear.
The
semantics
differ
and
be
able
to
emit
the
efficient
memory
encoding.
A
Want
to
know
that
this
goes
back
to
what
virtually
I
wish.
It
would
have
lied
to
me
all
right,
so
I
yeah
I
mean
similar
to
equip
to
I.
Don't
have
many
objections.
That
seems
reasonable
to
me.
The
names
seem
to
be
in
line
with
what
we
decided
earlier,
so
unless
some
glasses
Apollo.
That
I
would
consider
this
manner.
So.
L
D
L
One
should
hopefully
be
easy
as
well.
We
already
reviewed
and
approved
this,
but
I
ended
up
finding.
There
was
a
thing
that
we
didn't
cover
so
so
this
issue
was
basically
the
ordering
of
the
existing
api's
are
confusing.
They're
currently
compare
equal,
ordered
scalar,
and
that
can
imply
that
we
are
doing
that.
These
scalars
themselves
are
ordered
versus
us
doing
an
ordered
comparison,
and
we
said
we
should
reorder
those
to
be
that's.
My
help
doesn't.
L
L
Help
I'm
realizing
that
there's
also
an
enum
that
can
an
enum
for
the
256
bit
overloads,
because
they've
got
significantly
more
complexity,
where
they're
similar
word
ordering
constraints
and
I
just
want
to
basically
wanting
to
double
check.
We're
fine
with
also
reordering
these.
The
the
one
difference
is
that
there's
some
additional
contextual
keywords
here
so
like
non
signalling
and
signalling
versions,
and
so
we
basically
just
need
to
decide
where
the
order,
if
it's
still
going
to
be
ordered
equal
non
signalling
for
the
same
order.
We
had
said
previously.
L
L
A
L
A
L
L
D
L
A
M
M
P
R
H
A
L
L
A
J
N
H
H
H
He
thinks
that
what
what
we
had
was
too
many
knobs
and
switches
and
too
complicated,
and
that
we
should
pare
it
down,
which
is
fine,
so
he
in
fact
recommended
using
the
board
alright.
So
the
scenario
is
you
have
a
Jason
element.
Jason
elements
come
from
a
JSON
document.
Jason
document
is
disposable.
That
means
Jason
elements
are
transitively,
disposable
and
there's
nothing.
You
can
do
about
it.
If
you
have
one
and
you
would
like
it
to
live
longer,
you
need
to
be
able
to
make
it
live
longer.
H
G
H
G
H
L
H
Can
only
go,
let's
call
it
down,
yep
got
it,
so
clone
in
particular
will
clone
the
current
sub
element.
So
if
you're
not,
if
it's
not
the
entirety
of
the
document,
it
will
make
a
copy
of
the
smaller
thing
for
GC
reasons,
and
then
the
boolean
is
or
to
expose.
Is
this
already
in
a
state
where
you
can
let
it
live
for
a
long
time?
H
H
H
Coppy,
so
clone
is
copy
all
of
the
bikes
from
the
original
payload,
because
we
maintain
them
as
they
were
because
of
we
have
the
method
get
raw
Jason,
which
means
that
we
need
to
keep
it
in
the
original
form,
and
so
it
needs
to
keep
its
if
minimum
its
sub
portion
of
the
object
alive.
The
question
is:
does
it
also
keep
any
outer
portion
alive
if
anybody's
already
called
clone.
L
G
A
H
H
A
H
A
R
A
H
H
G
H
H
H
Persistable,
if
this
persistable
is
false,
clone
will
copy
exactly
what
it
needs
to.
If
it's
persistable
is
true,
it
says,
return
this
so
multiple
objects
from
the
same
hundred
biked
a
load
I'll
keep
the
same
hundred
Bank
a
little
odd.
If
you
only
took
one
thing,
I
know
how
to
make
Talos
it's
a
very
good,
but
why
are
you
persistently?
We
should
only
persist
a
ring
clearer
than
that.
H
H
A
Like
if
you
have
evidence
for
that,
you
need
this,
then
you
can
edit
later.
If
we
have
to
for
now,
I
would
just
leave
it
at
home
and
then
do
trim
later.
If
it
actually
shows
up,
I
mean
it's
a
general
problem
that
we
have
like
if
you,
if
you
store
an
object
reference,
and
that
is
a
potentially
large
tweeted,
your
whole
alive,
like
I,
mean
it
said.
This
is
not
specific
to
this.