►
From YouTube: .NET Design Review: JSON DOM
Description
-17:-46:-38 - Approved: Random-access document model for JSON (JsonDocument) https://github.com/dotnet/corefx/issues/33968
B
All
right
today
we're
talking
about
what
are
we
talking
about
when
the
max's
document-
wonderful,
Jason,
okay,
don't
release
it.
So
whatever
do
you
want
to
walk
us
through
what
you
have
there?
Okay.
C
C
The
names
that
I
have
we're
certainly
inspired
by
our
XML
types,
and
so
they
may
be
subject
to
some
Jason
application
by
the
the
idea.
Is
you
can
parse
something
into
a
thing
called
jason
document
it?
It
is
what
holds
the
state
of
the
parse
document.
It
takes
a
read-only
memory
and
keeps
that
memory
alive
and
then
keeps
just
preparing
for
that
throughout
the
time
using
it,
and
the
only
thing
you
can
do
to
it
is
dispose,
which
frees
the
state
that
it
has
mainly
needs.
C
D
C
So
as
written
right
here,
it
accepts
a
set
of
reader
options.
The
only
computer
options
has
on
it
right
now
is
the
comment
handling
ass
on
and
I've
worked
through
several
scenarios
involving.
If
we
let
comments
be
parsed
into
the
document
model
and
every
answer
is
they
don't
make
sense,
so
it
will
reject.
We
accept
comments,
but
it
will
allow
the
skipped
comments
and
then
Jason
reader
also
accepts
a
maximum
stack
depth
which
currently
I
don't
have
here
and
I
could
service
just
because
their
service
repair.
C
Direct
H
turn
on
in
the
opportunity.
That's
already
we
should
discuss
or
change
yes,
so
one
one
option
is
right
now
in
Jason
reader
being
what
is
the
maximum
depth?
That
I'm
willing
to
walk
into
is
a
value
sitting
next
to
the
options
and
then
I
mention
pass
on
the.
Maybe
we
want
to
move
it
into
the
options.
D
C
D
D
C
C
D
H
I
H
C
Okay,
so
I'm
Jason
document,
the
only
thing
that
you
can
get
is
Jason
element,
so
the
adjacent
element
type
really
you
you
can
think
about
it
as
it
is
a
cursor
position.
All
the
only
thing
that
actually
stores
inside
itself
is
which
entry
in
the
database
that
that
is
held
by
Jason
document
is
this
thing
representing,
and
every
action
just
refers
back
to
interpreting
something
out
of
the
database.
So
it
is
a
destructiveness
of
it
is
which
document
that
I
come
from
and
you
can
see
I'm
so.
D
J
C
C
Then
ask
any
of
these
methods.
What's
going
on,
they'll
grow
up?
Why
are
you
doing
bad
things?
That
would
be
the
only
time
that
you,
with
the
exception
of
the
type
property
that
will
return,
none,
which
is
the
only
time
you
should
ever
seen
them
coming
out
of
it-
is
that
you
created
it
as
people
do.
Does
this
struct
also
track
disposing
the
document,
because
they're
started
as
a
version
of
the
document?
If
the
doctor
disposal
of
these
will
indirectly
grow.
C
D
F
D
C
The
reason
you
need
it
is,
if
you
are,
if
you
are
using
the
enumerator
on
an
object
and
that's
the
only
time
you
can
see
the
property,
so
the
enumerator
on
an
object
will
give
you
the
properties.
So
then
you
can
get
the
name
of
the
property
and
the
value
of
the
property.
Let's
say:
look
I
need
two
pieces
of
information.
C
We
talked
through
several
different
clothes
of
what
the
enumerator
can
do,
including
bouncing
between
the
property
name
of
the
property
value,
going
just
down
the
what
we
call
the
property
name
axis,
which
matches
what
Jason
met
buzz
and
the
very
interesting
model
that
I
started
with,
which
is
go
down.
Only
the
value,
access
and
often
the
value.
We
allow
you
to
ask
what
the
name
once
and
then
it
throws
that
you
didn't
come
from
an
object
where.
D
C
We
would
need
to
split
the
enumerator
array
and
object
array.
It
doesn't
have
mean
just
like
someone,
you
numerator
over
the
way
you
could
end
up.
So
you
learned
X,
1
and
X
2.
Then
you
enumerate
over
an
object.
You
get
property,
0
values,
another
property
1.
Well,
no,
you
get
property,
you
get
a
node
called
property
name
or
whose
type
is
property
name
which
is
no
K
0.
And
then,
when
you
move
next,
you
get
1
and
off
of
each
one.
There
is
nothing
bottom
start
at
the
bottom.
C
C
Properties
engagement
that
minute,
which
has
the
name
and
the
name
property
and
the
value
property
where
the
value
property
gives
you
back
a
J
value.
This
means
that,
if
you're,
if
you
have
this
inside
of
a
for
you,
you
need
to
keep
state
outside
of
the
forage
in
case
you're,
using
an
in
case
your
opinion
rating
over
log.
That's
right
because
you
need
to
you
need
to
know
that
every
odd
thing
that
uranium
rating
it.
D
I
have
to
tell
you
to
me:
it
would
be
easier
to
understand
the
model
you
find
you
Jason
element
can
be
one
of
the
three
times
yeah,
it
can
be
their
value.
Then
I
can
call
get
ain't,
get
you
know
in
64,
and
these
things
it
that's
all
I
can
do
if
it's
an
object.
I
can
enumerate
properties
when
property
is
a
tuple.
It
gives
me
it's
name.
D
Let
me
not
have
to
use
a
total
part,
it
gives
me
a
name
and
it
gives
me
JSON
element
or
I
can
enumerate,
and
it
gives
me
those
elements.
Basically,
the
type
has
three
modes
and
the
API
is
kind
of
what
I
would
expect
in
the
mouth
here.
It's
kind
of
like
enumerate.
Children
well
I,
need
to
know
what
it
exactly
does.
You
know
like
we.
B
Don't
know
what
that
many
people
think
I
mean
I
get
disgusted
with
yesterday
with
German
right.
If
you
really
want
it,
so
you
can
actually
have
the
fake
hierarchy.
You
can
actually
have
over
the
demo
data.
We
have
a
base,
a
construct
that
is
the
base
type
and
you
have
other
structs,
are
logically
derive
type,
and
then
you
may
save
it.
It
does
the
conversion
to
the
base.
B
G
D
B
C
Yeah,
you
can't
ask
about
your
siblings.
This
readers
cannot
from
one
element.
You
cannot
go
up
or
sideways.
You
can
only
go
down,
so
the
side
was
in
place
doing
that
from
yeah.
Well,
it's
amusingly.
It's
easier
to
know
what
you're
in
the
conventional
treatment,
what
your
right
child
or
what
you're
right
sibling
is.
That's
actually
easy
for
it
to
know,
left
and
up
above
partner
right.
F
D
H
D
H
H
C
Where
we
have
the
utf-8
one
and
then
to
utf-16
ones,
if
you
use
the
main
indexers,
you
get
the
value
about
the
property.
So
the
only
time
this
current
model,
when
we
get
the
property
node,
is
in
a
new
right
children,
but
we
can
split
it
to
the
season.
What
do
you
return
is
the
name
of
the
development
defined
invalid.
C
B
B
B
D
A
D
A
B
There's
a
civic
thing,
you
can
say
give
me
that
pipeline
right
out
and
then
you
can
basically
say
if
any
of
them
is
now
a
question
mark
question
mark
you
can
say:
well,
then
you
know
otherwise,
given
the
actual
video,
and
that
is
I
mean
much
much
more
convenient
and
no
I
think
if
this
exists
great
excellent.
If
this
exists
great,
when.
D
You
eat
the
amount
of
I
need
not
about
the
case
where
you
don't
know,
I
agree
with
you.
I'm
just
I
want
to
make
sure
that
it's
super
convenient
when
you
know
that
you
have
the
values
which
is
common
sure,
but,
like
again
like
do
you
want
to
blow
up
if
the
schemas
invalid
do
you
agree
and
when
I
know
that
the
values
are
there
and
they
are
not
there?
Yes,
I
want
to
blow
up
reckon.
D
H
I
don't
know,
but
given
that
this
is
a
read-only
representation
option,
prime
properties
or
things
that
were
potentially
require
you
to
modify
either
remove
or
add
elements,
but
something
that
is
not
supported
here
anyway.
So
if
you
get
rid
of
the
octal
properties,
you
would
want
you
to
see
like
an
easier
version,
not
something
like
this.
So
to
support
that
scenario
at
UT,
the
interceptors
to
support
a
scenario
doesn't
necessarily
make
sense.
Why.
B
Are
you
doing
because
I
mean,
like
just
people
option
does
me
know
what
it
is
here
that
it
just
means
that
I
mean?
Why
would
you
use
this
type
to
begin
with,
rather
than
this?
Innovation
is
I,
think
a
fair
question,
but
if
I,
but
down
Lee
the
type
representation
for
that
I
just
want
to
exit
some
configuration
data
that
things
can
be
optional
like
any
other
way,
but.
B
B
They
even
go
down
the
path
where
what
is
very
concise
in
this
syntax
becomes
like
a
ten
minutes
ago,
because
you
have
to
do
it
not
make
thick.
Compare
like
how
how
X
things
work
right
or
you
know
the
whole
XPath
kind
of
thing.
You
basically
have
one
single
string
or
you
can
say
give
me
give
me
all
these
guys
of
this
name
where
this
thing
is
set.
If
they
don't
find
any,
that's
fine,
I
don't
have
to
deal
with
any
no
checks
along
the
road.
What,
if
you
have
been
sort
of
an.
A
A
D
Wife
daughter,
it
is
but
I
I
think
it's
so
I
was
not
pushing
for
one
over
the
other.
What
I
was
saying
is
we
should
Oh
about
which
one
is
the
more
calm.
Okay,
do
I
know
the
schema
or
not
and
then
basically
make
one
we
get
and
the
other
one
with
the
indexer.
You
know,
whichever
is
the
market
more
comment.
L
So
I
think
worth
Jason
the
best
way
to
think
of
it
as
the
the
way
people
would
expect
it
to
work
is
the
way
it
works
in
JavaScript,
where,
if
you
have
an
object
in
JavaScript,
and
you
try
and
get
a
property
from
it
and
it
happens
to
be
null
or
it
happens,
to
not
even
be
there
like.
That's
not
going
to
explode
and
that's
the
way
I
did
it
and
Jason
on
it
and
also
to
do
with
the
way
people
expects.
L
B
D
L
Blow
up
what
what
I
do
with
then
and
like
that,
that
would
be
the
same
behavior
on
JavaScript.
What
I
have
an
Jason
on?
It
is
I
here
of
explicit,
cast
operations,
so
someone
could
index
into
a
object
name
I
want
to
retrieve
the
title
from
it.
F
title
happens
not
exist,
it
will
return
null
and
then,
when
their
explicit
cast
operation
is
casting
it
to
string,
it
will
just
return
a
null
string.
Well,
a
null
value.
L
D
D
G
D
B
D
A
A
M
F
C
B
Of
you
that
I
think
like
to
me,
it's
like
I
think
that
we
should
embrace
the
language
to
make
it
to
make
it
readable,
but
I
think
when
it
comes
to
the
semantics
of
the
thing,
I
think
it's
okay
to
stick
with
JavaScript
semantics
and
say
this
is
how
it
behaves
and
then
just
use
c-sharp
mechanisms
to
do
a
number.
Well.
B
B
B
D
You
are
you
arguing
for
your
novel
thingy
because
that's
different
yet
from
you
know
the
behavior
of
you
know.
If
the
first
one
is
missing,
the
second
we'll
throw
you
basically
saying
you
can
change
them
and
they
will
never
throw
ya.
They
just
returned.
Now,
that's
what
I
would
say
and
then,
if
you
I
mean
there
is
not
but
I'm
saying
this
is
not
the
JavaScript
behavior,
which
is
if
the
first
one
is
missing.
The
next
one
will
throw.
D
G
N
D
C
B
The
thing
is:
when
you
have
a
value
of
the
left
hand,
side
or
anything,
you
have
a
video
on
the
right
hand,
side
right,
so
this
is
usually
name
right
if
this
whole,
if
this
cannot
be
bound,
you
get
now
right
now.
If
this
one
already
was
now,
then
you
get
an
exception,
because
if
it
had
you
referencing
yeah,
yes,
but.
E
D
Right
is
it
like
I
know
this
email
and
therefore
I'm
so
surprised
when
it's
not
there
I'm,
not
the
schema.
I
know
that
the
payload
then
I'm
super
surprised
that
we
throw
when
we
do
what
you
said,
which
is
they
are
not
at
moved,
and
then
you
have
to
write
this
somehow
wacky
syntax,
at
which
point
maybe
I,
won't
even
be
ferry.
They
J
query
syntax.
So.
H
D
D
B
D
C
C
C
D
M
L
J
J
L
Try
and
index,
and
so
something
which
is
a
bit
undefined
flag
is
true.
Then
you
would
throw
an
error
or
if
you
try
to
say,
get
in
32
on
it,
then
it
would
throw
an
error,
but
at
the
same
time
there
should
be
get
nullable
and
32
or
something
like
that
and
if
you
tried
to
say,
get
nullable
and
32,
then
it
would
just
return
the
nullable
value.
Likewise,
if
you
said
get
Strang
and
it
was
an
undefined
type
in
order
to
know.
F
C
C
D
You
get
I,
don't
have
a
type
I,
don't
know
your
eyes
now.
I
find
it
very
lucky
because
it
doesn't
support
this
chain,
syntax
in
C,
shot
so
I.
Think
again,
I
would
say
we
decide
whether
which
one
is
the
most
common
scenario
and
either
do
what
email
sense
or
the
words
that
it
now
says,
and
that
alternative
to
take
you
guys
to
get
you
the
knowledge
of
values.
So.
C
C
F
C
D
B
G
B
Just
return
another
bowl
of
blood,
and
you
just
do
it
with
the
language
syntax,
which
I
would
prefer
because
I
wouldn't
know
so,
do
you
I
mean
if
you
don't
have
it
I
just
wrote
the
code
for
try,
get
value
chaining
and
it's
not
entirely
horrible.
You
know
like
it's
pretty
like
with
without
var.
Syntax
is
actually
somewhat
decent.
It's
not
actually
sure
sorry.
E
B
C
C
F
C
One
tapes:
we
don't
string
the
only
Spanish
orange
drink
and
we
move
out
of
the
end
episode
into
a
different
method.
The
reason
for
this
is
I
have
a
proposal
now.
I
have
a
proposal
for
a
YouTube
platform,
literal
utf-8
string
and
if
that
comes
in,
is
going
to
get
the
wrong
index
one.
It
makes
this
class
unusable
for
certain
people.
If
this
was
everybody
wants
to
just
write,
open
square
bracket,
a
literal
close
that
close,
yes
and
they're
closed,
but.
J
B
It
depends
on
yeah
well
I.
Definitely
if
the
lay,
if
the
the
I
think
I
want
to
say.
Well,
you
just
pointed
out
is
one
of
the
reasons
why
I
don't
like
target
typing,
because
the
basic
guarantees
that
any
existing
API
the
accept
string
today,
we
can
never
ever
add
a
utf-8
overload
and
have
it
work,
which
means
honestly,
like
they
need
to
have
some
tags
on
the
call
side.
That
says
no!
No,
this
string
is
a
utf-8
string.
D
C
A
C
J
B
It
sort
of
attorney
I
think
my
CD
is
saying
that
you
have
a
normal
string,
syntax
and
because
the
target
is
effectively
constrained
to
utf-8
strange,
don't
require
the
language
of
the
calls
that
just
make
it
work
right.
I
think,
if
that's
the
only
mechanism
you
would
have,
that
would
mean
that
if
you
add
an
existing
overloaded
takes
utf-8
string,
it
will
never
become
because
it
arose
the
stream
corrupt
and
that's
why
yeah,
but.
A
B
B
C
C
B
C
Interesting
thing,
which
is
off
screen
right
now,
you
look
at
this
type.
Unlike
the
other
day.
Some
types
that
we
did
discuss
does
not
contain
right
now
we're
in
utf-8,
because
there's
the
only
thing
in
this
entire
time
that
needs
to
know
what
the
underlying
encoding
is
is
the
escape
valve,
for,
if
you
get
a
big
integer,
please
just
give
me
what
the
what
the
underlying
encoded
data
was,
and
so
right
now
try
to
draw
value
that
out
slight
and
the
reason
it
is
tries
if
we
never
had
support
for
Jason
over
charge.
D
C
My
my
goal
with
this
is,
unless
we
want
to
put
utf-8
in
the
type
name
and
say
that
this
is
not,
will
never
ever
support
anything
else
and
it
can
support
something
else.
It
can
invite
in
my
goal
with
this
is
let
people
that,
if
they
write
code
today,
if
they
write,
say
an
extension
method
that
returns
a
big
in
turn,
then
it
won't
work
in
a
future
release.
I,
don't.
D
C
We
can,
aside
from
the
performance
characteristics,
is
go
change,
but
nothing
in
the
surface
exposes
what
the
underlying
recovery
was.
Once
once
you
have
calm
parse.
It
pretends
to
not
there
until
right
there,
where
it
leaks
it
out.
It's
a
database,
and
so
the
question
is
what
we
do:
try
to
get
raw
value.
That
outs,
we
don't
remember
a
byte
or
do
we
just
make
it
get
raw
value,
get
rid
of
try
copy
which
the
purpose
of
try
copy
is.
K
We
could
we
not
just
say
I
don't
get
raw
value
and
if
users
know
the
encoding
is
not
utf-8,
then
they
use
system
text
encoding
to
the
conversion
themselves.
No,
because
if
it's
backed
by
utf-16,
we
don't
have
bytes
to
give
you
well,
I
mean
you
could
still
return
the
value
and
fights
and
then
make
him
still
call,
because
it's
the
same
thing
text
encoding
has
today
the.
C
But
that's
a
new
application
at
that
point.
I
can't
return
you
the
memory.
That
is
the
projection
over
the
memory
that
you
gave
me
yeah,
which
is
what
try
get
wrong
value
says
it
is
new
zero
work
other
than
give
me
the
slice
so
you're
talking
about
a
theoretical
future,
where
your
constructor
accessory
don't
list
out
of
chakra
where
the
parts
Benton
has
no
factory
or
me
don't
worry
about
this.
So
where
do
we
need
to
shape
those
should
I
get
their
own
party?
C
E
G
C
D
C
It
makes
sense
to
have
the
exposed,
because,
if
you
want
to
do
the
convenient
path
to
get
your
sub-element
like,
if
you
want
to
resort
to
the
using
the
reader
at
some
point,
like
you
load
the
document
using
skip
comments,
you.
Finally,
whatever
sub
element
you
want,
and
now
you
have
the
range,
and
now
you
can
invoke
the
rear
on
that
sub
range
like
because
we're
giving
you
back
the
coordinate.
So
the
element
at
the
copy
that
otherwise
you
have
to
like.
You
now
have
to
go
into
a
whole
thing
back.
H
H
D
C
This
type
I
mean
if
you
work.
So
if
you
look
at
that
that
users
there
are
the
99%
of
that
that
user
to
you
string
yeah
industry
in
his
life,
and
they
will
look
at
this
and
say
why
doesn't
this
take
a
string?
Yes
and
then
they
would
want
something
that
works
on
string.
Is
that
they've
done
string
things
and
we
can
give.
C
That
works
on
string
and
then
it
will
just
transcribe
them
being
wrap
around
us.
Well,
the
question
is
should
like.
Is
this
a
useful
and
you
know
essentially
is
is
Jason
documenting
Jason
element?
Should
they
be
a
useful
exchange
type
regardless
of
the
underlying
encoder
I?
The
scenario
that
I've
been
hearing
everyone
we've
been
talking
about.
These
types
is
I'm
I'm,
getting
stuff
from
the
wire
whatever's
from
disk.
C
For
me
that
works
something
else,
and
if
that's
a
scenario
that
we
want
to
focus
on,
like
that's,
that's
utf-8
and
that's
the
scenario
these
types
women
file,
this
file
that
write
all
the
text
for
utf-8
or
you
can
flight
and
fall
beauty
of
anything
you
can.
You
can
give
it
an
encoding,
but
it's
doesn't
so.
B
D
C
So
if
we
took
a
utf-16,
that
means
that
we
have
a
utf-16
version
of
Jason
reader
and
in
the
factory
method
we
use
that
to
build
the
database.
All
that
the
database
knows
is
where
a
name
started
to
stop.
It
actually
doesn't
know
what
the
name
is
when
you
go.
When
you
ask
for
a
property
match,
it
then
has
the
magic
so
right
now,
if
you
call
the
utf-16
versions
of
the
index
seriously,
they
have
to
transcode
they
opportunistically
transcode,
to
find
a
match.
Well,.
D
I
think
what
you
know
it's
asking
at
the
end,
so
a
little
bit
finding
the
the
you
know
the
payload
yes,
but
once
you
find
the
parallel,
when
I
call
get
value
in
32
right,
you
will
have
to
have
an
if
deck
and
basically
say
if
my
table
was
utf-16,
then
called
a
sparse
other
way
expose
this
other
parts.
Yes
well,
that
would
be
all
buried
inside
of
that.
But
what
wouldn't?
D
We
have
two
different
lunch
without
it,
because
you
then
cannot
pass
somebody
so
I
do
agree
that
there's
some
value
I,
don't
know
whether
it's
worth
it,
but
there's
some
value
in
basically
saying
well,
I'm,
just
passing
you
JSON
element,
you
don't
have
to
care
where
what
was
the
source
of
my
data?
Yes,
you
can
idea,
you
know
genetic.
C
C
Particular
if
you,
if
you're,
asking
right
now
for
what's
the
name
of
the
property
absent
us
having
an
allocatable
utf-16
there,
utf-8
string
type
because
we
need
to
handle
it
seeping
prostitution,
the
only
things
you
can
do
are
asking:
what
is
the
raw
value
of
the
name?
If
you
want
the
unencoded
everyone,
but
not
transfer
or
please
transcoding
estate,
this
is
so
right
now.
The
only
way
you
can
get
back
to
main
with
a
property
that
has
had
the
escaping
from
removed
from
it
is
against
extinction.
G
B
Then
you
can
just
say:
well,
that's,
unfortunately,
I
just
transcode
this
tf8
and
then
I
do
the
rest
of
parts,
because
I
mean
at
the
end
of
the
day
you
can
just
say
my
normalized
representation
member
is
always
going
to
be
utf-8.
And
if
you,
if
you
really
wanna,
have
a
UTA,
so
utf-16
version
of
triquetra
value,
you
just
have
a
mainly
convention
on
the
method
and
then,
if
the
encoding
matches,
you
just
return
that
if
it
doesn't
you're
trans
code
and
like
that
means
you
can
pass
the
same
thing
everywhere.
F
C
A
B
H
D
D
B
B
But
all
I'm
saying
is
it?
Does
it
assume
of
custom
I
think
you
have
to
make
all
mine
up
would
be
ever
one
of
a
generic
or
not
because
if
the
answer
is
no,
then
they
better
call
these
guys
youichi
I
made
something.
The
answer
is
yes,
that
I'm
not
called
as
utf-8
in
the
name.
I,
don't
think
you
can
be,
can
propose
that
like
postponed
a
decision
because-
and
that's
my
yeah-
you
have
you
shipped
the
wrong
type
name
at
that
point.
Right.
H
I
guess
the
point
was
that
the
notion
that
there
would
be
encoding
specific
so
then
we
have
multiple
types
at
the
bottom,
but
talk
about
types
like
document.
Unless
you
have
easy
desert,
I'm,
not
encoding,
specific
I
support
both
or
they
can
spoof
in
the
future
yeah.
We
should
have
them
in
there
and
you
get
a
choice.
You
dr.
banner,
a
petition.
You
just
read
this
document
say
we
see
daddy's
land
or
whatever
else,
and
that's
that's
what
I
was.
D
D
C
D
D
C
D
C
So
like
it's
the,
if
we
think
that
in
the
future
we
would
do
it,
but
we're
not
sure
that
we
would
do
it
and
we
want
to
make
sure
we
save
the
name
for
when
we
do
it
right.
We
slap
utf-8
on
this
now
and
then,
when
we
do
it
as
a
hybrid
type
in
the
future,
we
copy
and
paste
all
the
source
code,
immunity
and.
C
H
D
E
B
C
B
D
D
C
F
C
C
E
C
B
The
only
question
I
have
is
like:
why
would
we
not
do
it
ourselves,
because,
fundamentally,
if
we
had
a
process
that
it
takes,
this
training,
does
the
transcoding
the
one
difference
between
that
and
doing
a
populist
performance?
So
then,
even
not
people
user
and
complain
about
perfectly
optimize.
It.
H
H
B
B
J
C
B
That's
taking
place
today
would
have
been.
This
is
a
problem
of
things
that
I
mean
you
might
still
get
the
string
from
it.
With
another
place,
I
mean
like,
like
the
only
difference
between
:
ism
yeah.
Other
one
is
performance
buttons.
You
can
stop
them
as
your
own
code,
but
I'm
suing
the
transcoding,
quoting
the
UK
81,
or
just
don't
care,
because
you
all
you
want
to
do
is
just
be
done.
B
C
B
D
And
we
kind
of
almost
didn't
think
about
issues
like
this.
One
I
feel
like
maybe
around
this
type
is
between.
You
know
it's
an
idea
for
Ben
Adams,
it's
an
API
for
an
average
of
the
developers
and
for
those
you
should
just
make
stuff
work.
Yes,
they
notice
a
problem.
They
can
transform
themselves,
they
can
get,
they
can
not
get
the
string
and
go
back
to
I.
C
H
D
D
B
C
C
D
C
K
D
C
D
F
D
We're
either
in
email,
InDesign
I'd
now
forgot
what
the
end
it,
but
reader
is
reentrant.
So
if
I
I
don't
know,
if
we
take
read-only
sequence,
is
a
fight
or
not
yeah.
Even
if
we
didn't
I
can
always
write
my
it's
complicated,
but
I
can
write
it
myself.
This
one
is
a
one-time
part
yep.
If
my
data
is
in
read-only
sequence,
not
the
you
need
only
memory,
then
basically
I
cannot
use
it.
I
mean
I.
C
D
C
Is
itself
an
object
and
for
bias,
so
we
have
only
32
bits,
because
so
the
this
uses
a
very,
very
minimal
structure,
so
it
can
say
on
the
array
pool
for
as
long
as
possible.
It
also
requires
to
be
global,
because
it's
in
federal
organization,
as
it
borrows
bytes
it
doesn't
borrow,
and
then
it
does
strong
projections
on
top
of
the
bytes
sequence
position
has
an
object:
it's
not
a
little
bit
so
now
this
came.
This
could
use
its
own
a
rifle,
but
it
wouldn't
be
able
to
share
with
the
bite
of
a
tree.
C
H
D
H
D
D
You
know
it
arrives
in
4k,
but
there
is
gonna,
be
you
know,
summary
response,
information
and
headers,
and
this
and
then
you
get
to
the
payload
like
how
often
I
am
gonna
be
in
one
memory
type
4k
4k
is
not
a
lot,
and
probably
you
know
couple
bit
or
many
part
would
be
already.
So
what
were
you
proposed?
That
would.
D
C
C
It
from
16
or
growing
it
from
12
to
20
would
then
probably
be
about
a
15%,
so
in
trying
to
figure
out
also
if
the
average
user
would
actually
have
a
redundant
sequence,
because
my
understanding,
the
capital
Python
and
please
correct
me
if
I'm
wrong,
but
my
understanding
is
that
within
the
cash
flow
pipeline
itself,
everything
is
available
sequence,
but
at
the
time
it's
actually
given
to
the
application
developer.
Thank
you
soon,
but
it's
actually
in
a
single,
continuous
problem.
No,
no
well.
D
D
When
a
speed
of
the
team
is
working
or
thinking
how
to
expose
the
buffers
directly
in
asp.net,
meaning
the
context
context
so
and
I
would
be
shocked
if
they
basically
said
well,
we
already
worked
on
exposing
directly
the
buffers,
but
now
when
I
expose
it
as
a
read-only
memory.
So
in
case
it's
more
than
one
question.
H
C
We
can
do
one
is
we
can
make
this
type
inherently
understand
the
only
sequence
which
grows
the
table,
changes
which
every
bullet
borrows
from
you,
etc.
So
yeah
there'll
be
a
the
amount
of
total
memory
of
the
process
will
go
up
because
it's
sharing
less
with
other
things,
and
the
amount
of
throughput
that
you
did
in
large
document
scenarios
goes
down
because
the
structure
is
bigger,
or
we
have
just
like
we're
saying.
If
we
do
persistent
upstream,
we
have
a
parse
thing
that
makes
your
daily
sequence.
D
D
D
Don't
use
weakened
very
three
dummies
sequence
from
a
linked
list.
Now
it's
just
to
eat
index
into
the
array
and
then
the
other
index.
B
D
B
D
C
B
Our
expensive
visit
to
have
like
an
abstract
type
that
does
that
it
is
internal
like
how
expensive
are
me,
taylor,
berkhalter,
for
these
individual
things.
They
just
have
one
implementation
that
deals
with
everything
is
super
compact
or
another
implementation.
That's
that's
a
utf-16.
You
have
another
implementation
that
is
like
whatever
the
signal
change
like
how
expensive
are
we
table
calls
when,
hopefully,
the
jet
can
see
that
it's
just
the
monomorphic
all
set
for
one
specific
variable.
Do
we
think
mean?
Do
we
think
that
it
is
too
much
I,
don't
know.
B
D
So
basically
you
would
have
to
do
this
feature,
which
is,
if
you
take
it
only
sequence.
You
convert
it
to
an
array
right
and
now
you
forget
about
position.
You
refer
to
these
things
as
through
long
you
use
long
very,
very
few.
Just
you
know
divvy
up
the
log
into
twins
and
need
that's
twice
right
and
that's
it
and
then
he
doesn't
have
to
worry
about
it.
I.
H
H
Never
worked
for
sequins
enough
Connecticut.
Actually,
how
I
really
do
so
if
the
country
can
be,
let's
save
it,
for
your
new
sequence
would
be
then
say:
the
sequence
is
too
large.
We
can't
stow
in
our
internal
my
database.
Therefore
we
throw
and
reject
this
input
where
you
cannot
store
any
positions.
No,
but
let's
say.
C
H
C
J
C
F
H
E
B
But
but
he
is
the
thing
right
that
can
his
example
at
one
of
the
stuff
was
well
I.
Call
it
the
image,
facial
recognition
thing
right:
there
are
some
things:
I
wanna
do
less
and
there's
some
things.
I
just
want
to
expose
to
the
user
yeah
to
access
right.
The
reader
is
really
inconvenient
for
their
users.
The
Dom
would
be
much
more
well.
D
D
She
would
provide
types
when
you
think
things,
because
so
it's
it's
not
the
ideal
world.
So
in
the
ideal
world
I
will
have
a
teacher
that
kind
of
works
like
the
shaft
acrobatic
and
that
one's
kind
of
solves
all
the
problems.
This
is
my
idea.
World
and
I
actually
want
to
meet
with
again,
and
then
we
started
the
discussion
because
there
are
you
know
world,
we
don't
create
types,
so
other
SDK
doesn't
have
any
time
representing
the
tree.
D
D
C
F
C
D
You
mean,
for
let's
say:
I,
don't
get
that
I
provide
this
each
other,
so
we
can
craft
the
tree
yeah
and
can
I
use
this
one?
Yes,
or
would
you
use
the
Amina
because
you
know
what
small
pieces
I
would
not
do
this
so
the
moment
the
data
is
complicated,
like
I,
don't
even
know
computer
I'm
now
using
the
reader
I'd
like
for
small
things
and
kind
of
words,
but
they
have
to
write
my
own
helper
library
to
my
house.
E
C
I
C
H
It
starts
more
it
just
okay,
tell
me
what
you
were
saying:
a
lot
of
smoke
a
whole
page
copy,
the
page
yeah
yeah,
so
do
already
under
the
only
sequence,
this
one
megabyte
it's
not
even
asleep.
That's
the
same
as
reading
a.
D
H
H
D
C
C
H
D
G
H
E
C
H
D
D
D
What
is
what
is
so?
The
constructor
takes
read-only
siesta
what
it
does
it
enumerates.
The
second
area
which
I
member
here
creates
an
array,
data
and
stores
by
that's
available.
Now
he
stores
in
a
database
instead
of
in
32
yeah.
He
stores
in
60
that
also
doable
yeah,
whatever
he
needs
to
find
yeah
data.
D
H
You're
reading
using
the
reader,
you
can
keep
track
of
our
segment
array
and
stole.
Then
the
database
for
you
to
do
an
upfront
and
then
refer
to
the
slices
of
sequence.
Val
reading
is
slow
because
every
time
you
gonna
say
give
me
the
second
slice
given
third
slice.
So
you
as
the
reader
you
just
get
the
sequence.
I
know
I
get
what
I'm
saying
I'm
saying
the
database
can
store
an
extra
eight
tell
you
what
segment
you
are
in,
but
that
should
happen
while
the
readers
reading
not
a
problem
well.
D
H
G
D
C
H
D
H
D
C
C
D
K
D
H
H
H
H
H
P
P
C
H
K
D
P
H
C
C
Element
really
doesn't
matter.
Thank
you,
okay,
so
next
for
all
the
numeric
types,
I
have
tried
to
get
value.
That's
based
on
at
least
but
I.
Remember
the
feedback
being
from
changes
to
the
Reader
API
Steve
when
he
was
looking
at
an
early
version
of
what
I
had
he
even
changed
his
mind
or
on
how
he
felt
about
that.
If
he
now
thought
it
was
weird
that
we
have
tried
get
value,
there
would
get
n32
get
at
64
that
you
went
to
keyboard.
H
C
C
C
C
L
Jason
out
there,
though,
and
there's
a
lot
of
case
somewhere
FFA
representing
and
missing
value,
they'll,
just
put
on
a
put
a
null
like
I,
quite
often
see
people
cast
like
these.
These
helper
methods
that
you
have
the
way
they
generally
work
with
Jason
donators
I
have
explicit
cast
operator
overloads,
and
you
quite
often
see
people
cast
what
could
be
a
null
value
to
a
nullable
and,
for
example,.
C
As
long
had
that
in
his
prototype,
I
took
our
framework
guideline
rule
which
says
that
we
need
to
support
languages
that
can't
call
conversion
operators
and
therefore
we
need
to
have
named
equivalents
of
those
operators
and
then
Steve
looked
at
my
thing
and
asked
why
why
I'm
bothering
having
both?
What's
the
scenario
for
explicit
casts
because
everyone
hates
writing
explicit,
casts
so
then
I
drop
them,
but
we
can
add
them
back
in.
L
Operate
over
those
so
I'm,
more
thinking
about
a
scenario
where
someone
has
no
coming
back
from
okay,
they
have
say,
for
example,
I,
don't
know
like
age.
For
some
reason,
age
might
be
null
in
some
case,
so
they
want
to
cast
it
to.
They
want
to
convert
that
to
a
knowable
end
like
right
now
they
would
need
to,
rather
than
just
call
it
get
knowable
132
that
need
to
look
of
a
type,
isn't
no
okay
return.
Now.
F
C
C
H
C
I
mean
the
reason
you
you
try
to
get
value
is
in
my
head.
Is
you
really
really
really
really
really
hope
that
this
is
a
32-bit
number,
because
you
might
be
running
on
a
32-bit
processor
and
don't
want
to
do
double
register
consumption,
but
damn
they
gave
you
a
number
bigger
than
that
max
value,
so
try
it
all.
C
Again,
I,
don't
think
that
in
my
scenario,
you
know
it's
a
number,
so
you're
gonna
call
try
to
get
value
and
just
let
it
throw
it.
It's
the
wrong
type.
How
this
graduated
through
try
get
value
only
returns
false
if
it
would,
if
value
would
throw
a
format.
Exception
throws
an
invalid
operation
exception
if
you're
asking
the
wrong
question
so.
H
H
B
On
well
I
think
to
me,
like
honestly,
the
Dom
makes
a
lot
less
sense.
If
you
really
don't
know
the
schema,
if
you
really
don't
know
the
scheme
where
then
yeah,
you
would
have
the
similar
pattern
that
we
have
individual,
but
you
check
everything
right
wrong
again.
A
more
common
pattern
is
you
expect
a
certain
schema
and
you
just
don't
want
to
blow
up
of
arbitrary
exceptions
in
the
middle
of
your
code.
You
just
want
to
handle
it
in
same
cases,
in
which
case
you
idea.
G
B
Wouldn't
make
it
so
that
you
say
well
similar
to
this
I
expect
this
video
to
be
there.
It
might
not
be
there
either
because
it's
optional,
it's
just
you
know
somebody
didn't
follow
the
schema
correctly
and
I
would
I
would
treat
like
Vedas.
The
same
thing
like
I
expect
this
to
be
an
end.
If
it's
learning
in
because
it's
an
array
like
somebody
shut
up
but
I,
think
in
that
case,
I
only
sit
would
say,
try
get
videos
right
into
it
or
just
return,
false
and
say
yep.
G
K
K
B
G
C
So
if,
if
you're
calling
tried
yet
in
32,
not
knowable
and
it
returns
false,
what
are
you
supposed?
What
is
the
expectation
of
what
you're
going
to
do
if
we
grow?
If
it's
not
a
number,
then
the
obvious
thing
that
you're
going
to
do
is
try
a
bigger
number
or
try
a
double,
because
maybe
it
was
a
floating-point
number.
If
we
make
it
return
false,
because
it's
not
a
number
or
it
didn't
fit.
Now
you
like
you're
in
a
very
ambiguous.
G
N
N
L
Think
we're
we've
gone
off
track
where
we're
talking
about
unexpected
schemers,
like
it's
really
common
for
people
to
take
a
C,
sharp
type
which
happens
to
have
a
nullable
boolean
on
it
or
nullable,
internet
and
serializer
to
Jason
on
one
end
of
your
API
and
on
the
other
end
they
want
to
read
it.
So
it's
quite
common
that
you
might
have
that
boolean
or
sometimes
true,
sometimes
false
and
sometimes
no
I,
just
think
it's
worth
having
a
method
on
us
where
and
one-one
mythical,
they
can
say,
get
nullable
boolean
rather
than
having
to
go.
H
C
Right
or
no
a
boolean
right,
it's
an
array
so
return
false
right
and
I.
Understand
that
and
I
just
don't
know
that
we
actually
have
a
convention
on
what
the
get
would
be
called.
Would
we
call
it
get
in
ull
a
ble
in
32?
It's
not
like.
We
can
fun
doing
that,
and
so
I'm
fine
like
if
James
takes
the
scenario
is
common
he's.
Certainly
do
I
would
look
to
as
a
domain
expert
and
we
can
certainly
add
the
API
I.
Just
don't
know
what
to
call
him.
C
Also,
would
we
add,
get
double
Anakin,
boolean
I
would
take
everything.
I
mean
all
of
the
things
seemed
string
doesn't
need
the
nullable
version,
because
string
is
a
mobile
version,
so
we
would
just
change,
get
string
to
say
that
it
doesn't
throw
on
the
null
token.
It
returns
no
I'm,
an
alt
okay,
which
is
fine.
It's
a
scenario.
I
hadn't
considered.
K
K
C
C
Mistakes:
yeah,
no
because
you
mark
the
ones
that
should
return.
No,
it's
you
sprinkle
question
marks
not
bangs.
They
decided
the
banging
when
is
too
shabby
yeah.
So
as
long
as
we
have
a
name
for
what
we
do
and
that's
fine,
so
then
the
question
is:
do
we?
Is
it
try
to
get
value
out?
Which
type
did
you
want
or
we
go
with?
Try
get
in
32
we
try
getting
64,
etc,
because
we
probably
have
done
both
patterns
in
the
framework.
At
this
point,
it's
a
question
of
which
one
we
think
is
the
right
answer.
C
K
C
C
G
C
C
Right
so
aside
from
the
child
enumerator,
which
will
get
duplicated
when
I
make
a
different
one
for
array
an
object.
The
last
thing
we
have
here
with
about
30
seconds
to
spare
is
to
overloads
on
the
writer,
so
they
can
write
an
element.
You
already
have
a
fully
formed
element
and
you
want
to
just
write
it
down
it's
up
to
a
something.
If
he
wants
to
respect
this
object
is
already
an
object
or
if
he
wants
to
walk
the
tokens
for
spacing
jason
writer
api
see
ya.
C
Once
we
take
Jason
once
you
can
never
have
adjacent
element,
that
is
a
property.
Once
we
make
the
new
jason
property
type.
We
may
also
want
right
property
that
these
jason
property,
because
acid
and
I
had
discussed
what
this
would
do
for
right
element
if
right
element
was
a
property,
it
would
rip
the
name
off
of
it
and
call
the
other
knowledge.
We
should
add
boo.
Some.
H
C
H
J
L
Speaking
alone,
speaking
of
link
linking
over
the
JJ
token,
Kop
are
a
that's
us
pretty
pretty
damn
common
like
that
was
the
original
intent
when
I
first
made
them
and
I
saw
schleps.
The
name
went
to
links
JSON
since
back
in
2008.
That's
what
everyone
did.
I
think
and
numerate
children
method
like
it's
gonna,
look
a
bit
ugly!
When
people
start
doing
link
will
want
to
do
link
with
Jason
element.
Has
it
been
any
thought
around
that
and.
C
C
H
C
L
And
ingest
net
J
token
is
enumerable,
which
means
he
in
a
weird
situation,
we
can
have
a
J
value,
which
is
a
boolean
which,
for
some
reason,
has
innumerable
on
it
right
and
I
believe
I
throw
an
exception,
I'm
pretty
sure
I
do.
But,
although
it's
a
little
weird,
it
does
make
link
very
easy.
It
makes
it
easy
to
just
say
on
I've:
got
an
object:
I
go
into
the
property
name
on
it.
So,
for
example,
I
might
have
a
personal
object
mean
it's
got
hobbies,
which
is
in
an
array.
L
A
L
L
Something
something
which
I
think
might
be
useful
for
you
when
you're
designing
this
and
building
this,
as
with
the
Jo
ara
and
friends
and
Jason
on
it,
is
I,
have
a
whole
bunch
of
samples
on
my
website
like
I.
Think
it's
it's
about
thirty
or
forty
I
would
recommend,
taking
a
look
at
those
and
seeing
what
the
code
would
look
like
with
this
new
JSON
document
and
even
seeing
whether
some
of
them
are
possible
like
because
this
is
read-only
and
you
can't
use
it
to
construct.
L
Jason
I
think,
probably
maybe
a
third
of
them
not
possible
already,
but
a
lot
of
them
have
to
do
with
veteran
values
and
querying
values
and
I.
Think
I'd
be
interesting
to
compare
them
side-by-side
and
see
how
the
syntax
would
be
different
and
I
thought
you
would
be
losing
by
using
this
to
structure,
structure,
syntax,
an
API.
K
K
J
K
B
I
think
the
one
thing
I
was
like
I,
just
looked
at
excellent
exting
doesn't
have
any
properties,
it's
all
methods
so
like
if
you
want
to
throw,
we
can
still
to
all
it
just
seems
very
weird.
The
other
thing
is
the
next
thing.
The
way
they
solve
the
problem
is
that
the
gist
of
a
hierarchy
right
yeah
they
have
basically
ancestors,
were
like
they
don't
have
children,
they
have
nodes
and
they
have
elements
right
which,
if
you
are
on
an
element,
like
notes,
will
include
the
attributes
versus
elements
will
not.
J
L
J
J
C
H
I
was
gone:
did
we
undo
the
separation?
No,
the
concern
was
why
we
have
a
method
and
in
link
it
linked.
Corey's
would
look
odd,
because
now
you
had
a
method
call
and
one
of
the
concerns
was
we
have
to
throw.
This
is
why
we
don't
make
a
property.
You
know,
because
this
is
a
collapse
flat
structure
rather
than
higher
and.
C
C
C
K
C
C
C
Yeah
that
could
first
of
all,
that
could
always
be
added
later.
If
someone
who
really
cares
right
and
I
could
always
just
usually
can
say
like
doctor,
oh
yeah,
so
we
certainly
we
know
or
can
know
that
data.
We
gather
more
data
during
parsing
and
we
added
weird
and
certainly
so,
I
guess
one
thing
that
didn't
come
up.
All
of
these
investors
find
me
first
property
of
Ameen
yeah
and
if
you
have
James.
C
Because
he
uses
the
dictionary,
the
dictionary
says:
that's
right,
Irwin
for
a
linear
scan,
so
we
find
the
first
one
if
you
have
multiples
and
you're
storing
in
the
dictionary
you
end
up
in
the
end
with
where
you
told
me,
there
were
12
properties.
Why
is
there
only
one
thing
in
my
dictionary,
it's
like
because
they're
all
named
the
same
thing,
his.
C
C
B
I
mean
I
think
last
usually
makes
sense
if
you
have
all
rights
in
right.
The
most
common
pattern
is
command
line.
You
just
suffix
the
command
and
you
want
to
just
make
sure
the
value
is
X.
So
I
don't
care
what
somebody
else
specified
before
for
X.
No,
it's
going
to
be
X
right,
so
I
have
no
idea
how
Jason
works,
but
I
would
assume
if
you
treat
this,
isn't
as
a
do
civilization
font
of
JSON.
If
you
do
still
has
it
on
the
JavaScript
side
and
pretty
should
last
one
videos.