►
From YouTube: .NET Design Review: char8
Description
A
All
righty,
so
so
before
we
go
into
the
Jason
thing,
I'm
probably
going
to
the
utf-8
stuff,
but
I
should
say
we
should
talk
about
the
Jason
Becker's
thing.
So
this
is
a
Josh
Hansen
and
me
were
like
spitballing
like
different
naming
conventions.
So
there's
two
things
I
want
to
get
out
of
this.
One
of
them
is
I,
don't
want
to
give
a
super
attractive
name
to
it,
because
I
think
we
will
eventually
we
might
eventually
shape
an
actual
route
for
this
thing
and
I
really
don't
think
they
should
be
in
the
same
package.
A
That
seems
very
weird
so
effectively.
We
want
to
have
a
name
that
conveys
that
it's
a
source
package,
but
you
know
what
you're
getting
yourself
into
when
you're
consuming
it,
and
the
other
thing
is
that
it
should
be
collide.
The
movie
name
that
we
wallet
actually
ship
are
there.
So
why?
Why
don't?
We
think
that
or.
B
Packages
that
don't
have
exchanged
eyes,
shipping
sources
is
not
the
right
thing
to
do,
because
if
there
are
exchange
types,
it's
a
different
ballgame.
If
there
are
no
exchange
types,
if
it's
a
library,
I
think
many
people
would
actually
prefer
sources,
especially
with
this
nice
trick,
where
you
gonna
make
all
the
types
in
there
not
so
easy
P,
then
I
don't
have
dependencies,
I
compile
it
with
my
sent,
the
customers
can
choose
whatever
other
version
they
want.
If
they
have
an
app
I
mean
it
sounds
many,
it's
actually
quite
nice.
If.
C
C
A
A
The
other
device
it
would
not
remove
the
source
package,
maybe
we're
just
not
promoted
I
mean
it
will
always
be
there,
but
I
think
the
problem
is
given
that
source
and
binary
and
different
axes.
We
cannot
put
the
same
package
because
you
have
no
way
of
choosing,
so
they
have
to
be
different
packages.
Yes,
so
that's
why
I'm
saying
from
my
point
of
view,
whether
we
do
it
long
term
or
not,
is
almost
your
mother
when
you
just
need
to
make
it
a
different
name.
B
I
agree,
but
so
that
one
I
agree:
okay,
what
I
kind
of
I'm
not
sure
about
is
trying
to
find
it
and
make
it
temporary
and
whatnot
I.
Think
it's
a
very
nice
long-term
solution.
If
you
should
just
append
that
sources
and
basically
when
you
search
or
for
the
component,
you
can
either
get
the
sources
or
the
deal
yeah.
A
My
concern
is
that
we
will
find
more
issues
and
then
it's
like
well.
How
do
we
take
this
ever
back
way?
I
mean
so
the
only
two
things
that
I
know
of
is
just
loading
like
language
specific,
that's
why
they
are
potentially
other
issues
that
get
mean
effectively.
It
only
works
for
cases
where
you
literally
make
the
type
internally
as
soon
as
somebody
makes
something
called
X
it's
falling
apart
fast.
B
Having
said
that,
I
don't
think
that
you
know
it's
a
very
valid
point:
I,
don't
only
do
it
for
things
that
are
basically
libraries
and
no
strange
types,
I
mean
you
know
technique
you
can
exchange
anything
but
like
in
practice.
Yeah.
You
know
JSON
the
reader
and
the
writer.
If
data
they
shouldn't
be
or
won't.
A
Be
exchanges,
yeah,
I,
think
just
for
one
of
you,
like
I,
think
the
video
writer
is
not
enough.
We
have
to
get
me
I
mean
for
300.
In
order
to
make
this
actually
fly
for
partners.
You
will
be
sucked
into
this
your
liner.
Why?
Wouldn't
you
can
probably
get
away
with
most
of
it
not
being
exchanged,
but
I
mean
that
you
look
at
Jason
I'm
in
an
ace
net,
for
example,
this
thing
that
quick
because
you'd
see
Eliezer
well,
that's
gonna
be
probably
get
the
I.
B
Mean
we
could
do
something
like
say
if
you
want
to
use
it
as
an
exchange,
type
use
the
DLL,
but
you
feel
you're
not
planning
to
do
it
just
use
the
source
package,
what
I
meant
by
it?
There
are
some
things
that
are
like
fundamentally
exchange
that
there's
no
reason
to
you
know,
span
or
memory,
there's
no
reason
to
make
it
internal
and
not
have
it
as
an
exchange
type
like
it's
completely
non
scenario.
B
E
B
B
A
This
time
makes
absolutely
no
sense
unless
anything,
it's
an
exchange
versus
this
one
is
like
yeah.
You
can
put
anything
in
your
signatures,
but
are
you
likely
I
didn't
I?
Think
we
look
at
Jason
I?
Think
the
number
one
thing
that
is
very
likely
is
the
JSON
setting
staying
away
because
it's
places
and
I'm
one
thing
you
have
to
agree
on
with
everybody.
A
C
A
So
if
I
had
to
guess
so
here's
what
I
think
will
happen,
we
have
to
ship
something
for
first
party
and
early
adopters
to
allow
them
to
do
to
use
JSON.
We
will
eventually
be
forced
to
ship
this
thing
as
new
I
think
that
we
can.
We
can
try
to
delay
this
because
I
mean
if
you
look
at
how
we
can
ship
moves,
there's
only
two
two
ways
to
do
it.
In
my
opinion,
in
the
same
way,
it's
the
biggest
one
hoops
is
the
evolution
right.
A
If
we,
if
you
don't
journey,
if
you
actually
believe
it's
frozen,
which
is
basically
what
span
was
it's
not
horrible?
The
only
complication
with
that
is
like
well,
you
need
to
know
pretty
much
up
front
where
the
times
we
live,
because
you
also
don't
wanna
with
the
time
for
words
right,
so
you
need
to
basically
know
what
the
exact
shape
of
the
feature
is
and
never
touch
it
again,
or
the
thing
is
purely
for
Nixon
range.
A
We
know
all
always
have
a
try
forwarding
issue
because
it
has
to
be
in
column,
but
we
can
probably
lock
down
the
service
area,
but
it
quickly
this
one
I'm
not
sure
how
soon
we
can
lock
down
the
surface
area,
so
I
would
save
to
me.
The
source
package
is
more
like
this
bridging
thing.
Until
we
have
a
proper
loop
once
you
have
a
proper.
Why
would
you
want
use?
You
do
not
cut
dependencies
on
the
package
that
can
cause
problems?
It's
always
I.
A
Yeah,
the
the
fundamental
follow
who
that
is,
is
that
you
basically
force
you
position
to
make
a
choice
and
I
think
the
only
other
downside
with
the
dependency
is
that
it
really
only
is
a
problem
for
you
photo
in
camera,
but
I
end
up
back
from
published
ships
in
inbox
at
some
point,
so
you
dependency
effect
with
disappears
but
effective.
The
platform
already
has
it,
which
is
the
other
reason
why
I
don't
think
it's
horrible
for
a
bit
of
the
package.
So
that
being
said,
I
think
something
like
system
collections
unit
will
work.
F
A
But
it's
it's
a
good
example
of
this
effectively
improve
because
I
mean
even
even
on
the
neck
or
there's
a
one-to-one
mapping
between
the
implementation
assembly
and
the
fabric
assembly
right
for
Nixon
range.
It's.
It
will
never
be
like
that,
because
these
types
have
to
live
and
call
it
with
chemical
quality.
So
you
have
to
basically
ship
something
else,
I
just
type
forward.
At
that
point
you
have,
this
lived
way
became.
You
can
never
add
it.
Yes
to
that
and
the
problem
of
JSON
is
that
we
might
get
away
with
that.
A
But
the
problem
is
always
when
you've
all
the
I
suppose
you
really
have
to
be
sure
what
everything
like
you
need
to
know.
The
lender
like
if
you
ever
split
this
assembly
into
two,
for
example
your
school
yeah.
Again,
that's
the
kind
of
a
thing
that
has
broken
us
in
the
past
left
and
right,
and
that's
why
it
would
be
kind
of
voids
your
shipment
move
until
we
know
what
it
what
the
API
services.
A
C
F
E
Long-Term
plan
yeah,
if
we
start
doing
it,
but
for
the
first
one
that
we're
really
just
using
it
as
a
handoff
to
to
first
party
and
select
third
party
Microsoft
compatibility,
seems
like
a
good
prefix
to
get
it
out
of
the
way
and
the
Christoph's
point
of
he
would
want
to
take
the
source
package
and
never
reference
the
dll.
Once
we're
happy
with
things,
and
we
understand
our
flow
of
publishing
sources
and
we
understand
the
consequences
of
publishing
sources.
We.
A
B
A
A
So
how
do
you
feel
about
Microsoft
OBC
other
place
in
the
sources?
That's
the
I
mean
anything
outside
of
Mexico.
Well,
we
have
ship
packages
before
was
that
they
were
basically
like
that.
So,
like
all
the
all
the
dollar
level
groups
we
have
shipped
before
like
we
did
this
for
the
get
a
waiter
stuff
for
tasks
or
may
have
done
it
before,
but
does
it
actually
mean
anything
to
anybody
know
that
no
in
it,
but
that's,
but
that's
the
thing.
That's
even
it
offer
sauce,
because
it's
a
little
rainy
so.
B
A
A
A
F
A
A
Back
to
McChrystal
said
I,
don't
if
you,
if
you
let's
say
your
multi
target
between
for
firmer
connect
web
three,
the
easiest
thing
for
you
is
to
have
the
same
source
code
and
just
say
when
you're
targeting,
when
you
can
call
in
for
full
framework,
add
the
package
dependency.
Then
you
don't
have
to
touch
any
of
this
was
false
because
of
the
same
with
yes,
okay.
That
seems
like
a
cleaner
approach.
Rather
than
forcing
everybody
to
yeah
like
they
said
it's
just
easier.
A
A
E
A
Yeah
I
mean
it's
not
even
Arabic.
That's
the
ugliest
name.
Waking
him
up
over
it
kind
of
said
it's
fax.
What
they
do
like
I
mean
the
thing
with
Microsoft.
Obviously,
other
people
know
what
it
is.
It's
basically
don't
let
a
crap
like
it's
effectively
what
it
has
meant
in
the
past,
where
we
can
quickly
reserve
the
prefix
that
level.
A
Yeah
I
think
I
think
you
have
enough
names
and
all
listed
up
there
that
you
can't
call
the
closest
over.
You
know
like.
Let
me
just
summarize
the
answers
that
we
have
and
then
you
can
just
make
a
quick
decision.
Don't
have
to
do
this
right
now.
Wait,
I,
think
Magnus
of
the
texture
Jason.
Those
sources
was
another
bad
idea
all
right.
So
then,
let's
move.
E
On
to
trade,
what
can
you
actually
refresh
this
real
fast
I
made
some
very
brief
changes,
while
you
were
talking
so
I
want
to
start
off
with
motivating
the
the
chari
type.
I
I
won't
bore
you
by
make
you
read
that
whole
or
about
the
beginning.
We
did
to
us
yes,
I
will
I
will
read
it
to
you
and
Lowell
you
all
asleep.
In
this
document,
I
use
the
name
you
tfh
are
just
or
just
to
be
more
explicit,
but
you
know
charlie
whatever
the
name
doesn't
really
matter
to
me.
E
So
the
the
purpose
of
the
type
is
considerate
as
equivalent
to
how
char
represents
a
piece
of
you
T
of
16
code
unit
char
is
basically
similar
to
UN
to
16,
but
a
text
turbulent
char
8
is
similar
to
you
and
8,
but
a
text
code
unit
for
utf-8.
Specifically,
the
reason
for
this
is
just
like
you
don't
want
to
treat
arbitrary
binary
data
as
utf-16.
You
don't
necessarily
want
to
treat
arbitrary
binary
data
as
utf-8,
and,
let
me
let
me
put
an
asterisk
on
that
statement.
E
E
However,
until
you
actually
make
the
determination
that
the
data
is
utf-8,
it's
just
binary
data
that
you
can't
really
do
much
with
the
purpose
of
the
char.
A
beauty
of
a
char
data
type
is
to
say,
if
you
have
a
sequence
of
these
things,
the
sequence
represents
text
data
like
data
that
I
actually
know
to
be
like
real
honest-to-god
utf-8.
The
reason
that
this
matters
is
and
I
speak
at
length
about
this
in
this
document
and
I
won't
I'll.
Just
briefly
summarize
here,
you
don't
necessarily
want
to
encourage
developers
to
create
applications.
E
Web
servers
where
they
read
in
some
read-only
stand
a
byte
from
the
network.
They
perform
some
manipulation
on
it
and
then
they
throw
that
to
a
back-end
server,
a
back-end
database,
something
like
that,
which
now
looks
at
that
exact,
same
read-only
santa
bite
and
then
takes
different
action.
Based
on
that,
an
example
of
that
is,
if
I
tell
you,
if
I
tell
you
here's,
my
username
and
I
have
submitted
this
in
utf-8,
and
you
call
things
like
to
lower
odds
great,
like
your.
E
E
If
you
read
through
the
document
in
your
spare
time,
you'll
also
see
how
this
compares
to
what
Swift
does
what
go.
Does
I
won't
really
go
into
that
right
now.
Can
we
can
you
just
look
for
the
word
struct
in
the
document
I
mean
to
me.
It's
also
similar
to
in
C
one
more
charge.
Another
charge
char
star
is
both
have
some
amount
of
binary
data
and
I
have
some
amount
of
text
yes,
and
that
any
questions
I
answer
on
Stack
Overflow
that
are
in
C
or
invariably
explaining.
D
E
Someone
that
char,
star
and
char
star
are
actually
different
types,
yes,
and
in
in
see
the
way
that
the
way
the
developers
generally
work
around,
that
NC
is
it's
very
common
to
use,
Hungarian
notation,
not
just
in
parameter
names
but
also
in
locals,
and
that's
a
lemma
C
developers
keep
track
of
whether
this
char
store
happens
to
be
binary
versus
types
data,
but
that's
not
a
very
dotnet
way
of
doing
things.
We
tend
not
to
require
our
developers
to
use
Hungarian.
You
make
this
beam
with
it.
E
It
can
so
anyway,
what
you
see
on
the
screen
right
here
is
well
very
large
where
you
get
cold
sex.
Yes!
Well
you!
What
you
see
on
the
screen
right
here
is
the
actual
definition
of
the
UT
f
HR
type,
this.
This
type
is
8
bits
in
size,
just
like
a
byte.
In
fact,
it's
backed
by
a
Biden,
it
wraps
it
might
effectively,
and
there
are
it.
E
It's
basically
think
of
it
like
a
new
integral
type.
There
are
conversion
operators
between
this
and
all
the
other
integer
types,
including
by
char
and
other
things.
The
conversion
operators
are
checked
in
this
proposal.
I'm
I'm
open
to
alternative
ideas
here.
That
means
that
if
you
have
a
int
which
is
negative
one
and
you
try
casting
it
to
beauty
of
HR,
you
actually
get
an
overflow
exception.
If
you
have
an
intimate
snake,
ative
one,
you
cast
it
to
a
bite
and
then
you
cast
it
to
UT,
f
HR.
A
E
E
E
A
No
sometimes
thing
it's,
we
wouldn't
know
that
globe
Anderson
over
in
the
same
is,
is:
do
you
have
any
field
yeah
and
then
do
you
use
generic?
They
give
you
a
virgin.
If
you
have
a
generic,
do
you
use
them
and
fuse
to
make
cyclic
layout
checks
or
blah
blah?
They
did
as
a
bunch
of
rules
we
just
applied
to
so
right
on
those
things
and
that's
whether
its
private
dummies
about.
E
E
There
are
also
things
like
equality
operators
like
the
typical
stuff
that
you
would
expect
the
strong
to
have
right.
If
you
scroll
down
a
little
bit
just
pass,
the
type
definition
you'll
actually
see
there
examples
of
what
that
would
look
like
in
this
case.
You
can
see
that
things,
like
addition,
subtraction
just
work,
and
the
reason
for
that
is
just
like
with
bite,
char
and
other
times
when
you
add,
there's
an
implicit
widening
to
int.
E
So
if
you
have
UT,
f,
HR
plus
10,
well,
you
get
an
int
as
a
result
that
exact
that's
the
exact
that
matches
the
behavior
that
you
get
today.
If
you
were
to
say
like
some
bite,
plus
10
or
some
char
cost,
an
equality
works.
As
expected,
you
can
compare
a
UTF,
a
charm
against
event,
just
like
how
you
can
compare
a
bite
or
a
chard
incident,
and
again
that's
due
to
the
fact
that
there's.
G
An
implicit
whitening
operation,
so
what's
the
purpose
of
doing
math
on
a
child
like
Annie,
I'm
kind
of
think
when
I've
seen
it
done
on
chow,
and
it's
generally
like
when
you're
like
checking
for
another
casing
and
do
the
8
is
going
well,
the
other
other
rita.
I
yeah,
I
so
you're
parsing
an
integer,
you
read
the
character
and
you
subtract.
I
come
the
separation
between
upper
and
lower
case
yeah,
you
guys
interacting
yeah,
I'm
subtracting
the
value
of
charge,
0
either
that
or
or
yeah
I
mean.
E
You'll
to
go
often
find
that
arithmetic
operations
aren't
that
common,
but
comparison
operations
are
right,
so
I
want
to
say
like
if
my
char
is
less
is
less
than
or
equal
to
like
Kaposi
right,
that's
actually
pretty
lonely,
but
this
this
shows
what
some
of
those
would
look
like
in
practice.
You'll
see
the
only
one
that
actually
fails
is
the
one
that's
second
to
the
bottom,
which
is
what
I
mentioned
earlier,
where
you
have
a
negative
number
that
we
try
casting
to
aut
fhr,
because
that's
checked
it
leads
to
no
before
in
central
London.
E
Everything
else
will
work
as
expected:
oh
okay!
So
now
the
question
is
like,
so
how?
How
does
this
actually
relate
to
bite
like
this?
It's
all
well
and
good
that
I
might
have
a
sequence
of
UT
fhr
inside
my
application,
but
ultimately,
like
I,
want
to
do
something
like
write
this
out
to
a
file
write
this
to
the
wire
or
something
what
I
had
that
I
know
we're
going
to
be
jumping
around
the
document.
G
E
Even
yeah,
so
the
the
difference
is
on
a
plumbing
store
with
systems
our
system,
doc
char,
is
a
utf-16
code
unit.
What
that
means
is
it
is
a
16-bit
integer
where
a
sequence
of
such
integers
represents,
hopefully
well-formed
utf-16
data.
The
code
unit
by
itself
may
or
may
not
represent
like
a
single
letter,
so
I
can
have
a
system.
Char
represent
the
letter,
the
character
E
or,
if
I
want
to
represent
an
emoji.
For
instance,
I
require
two
system:
charminar
UT,
f
HR
is
similar.
E
E
G
E
E
E
In
the
South
sixteen
whoa
correct
a
room.
A
room
is
generally
thought
of
as
a
sequence
of
code
units
where
the
sequence
length
might
be
one
write
on
a
displayed
character
like
a
good,
is
his
influence
of
one
or
more
rooms
right,
since
it's
basically
collections
on
HTML,
but
again
we
have
no
equivalent
in
the
utf-8
utf-16
world.
E
D
E
Similarly,
32,
you
know
that
was
in
current
a
the.net
definition
of
a
room
is
a
Unicode
scalar,
which
is
a
subset
of
a
utf-32
code.
Unit
like
it
is,
it
is
impossible
to
make
a
system
dot
text
on
room
that
wraps
a
value
negative
one,
the
constructor
for
Vincent,
whereas
a
utf-32
code
unit
is
basically
just
an
int.
That's
by
the
way.
That's
the
go
definition
of
the
wind,
the
go
definition
of
arenas,
a
literally
a
32-bit
integer
I
am
type
def
desn't.
E
So
can
you
look
for
the
word
next
and
then
we'll
go
to
the
second
match
because
it
gets
them
weaker?
No,
so
this
is.
This
is
showing
what
I
meant
earlier
about
about,
like
I,
have
a
suppose
at
utf-8
data
and
I
want
to
do
something
like
right
into
the
stream
right
a
to
to
disks
or
something
like
that.
The
idea
is,
we
would
have
a
bunch
of
useful
extension
methods,
hanging
off
of
read-only
span,
WTF
HR,
just
like
how
today
we
have
a
bunch
of
useful
extensions
hanging
off
of
read-only
span
of
char.
E
The
extension
method
I'm
showing
here
is
as
bytes,
which
basically
says
if
I
have
a
read-only
span
of
UTF
HR,
but
immediately
projected
as
a
read
on
expanded
bite.
It
doesn't
perform
validation,
it
doesn't.
It
doesn't
need
to
because
of
as
soon
as
the
infant's
well-formed,
it's
basically
the
equivalent
of
memory
marshal
cast,
but
without
requiring
you
to
call
into
memory
marshal,
because
memory
marshal
is
what
we
consider
to
be
a
danger.
As
they've
done.
We
actually
have
that
as
bytes
expansion
method
right,
because.
E
No,
we
ended
up
not
making
them
an
extension
method.
We
ended
up
making
that
a
regular
method,
a
regular
static
method
in
memory
Marshall
and
the
reason
the
reason
that
we
never
made
it
an
extension
method
is
because
it
allows
you
to
inspect
private
members
of
of
T,
but
this
this
would
be
an
extension
method
that
is
absolutely
equivalent
to
memory
Marshall
as
lights.
E
We
would
just
expose
it
as
an
extension
method
because
it's
convenient
and
safe
what
this,
what
this
code
sample
is
showing
is
that
if
you
were
to
call
as
bytes
like
you're,
getting
back
a
stand
that
literally
just
points
back
to
the
original
data,
if
you,
if
you
call
fixed
on
each
of
them
and
compare
the
pointers
they're
the
same,
the
other
thing
that
this
are
showing
is
because
we
would
actually
have
a
type
UTF
HR
we
can
enlighten
certain
AP
is
just
like.
We
do
for
char.
E
Today,
for
example,
read
only
span
of
utf-8
char
to
string.
We
can
actually
make
it
return,
a
string
that
represents
that
data
as
utf-16
just
like
how
today
read-only
stand
up
charge
ought
to
string.
Actually
string
applies.
The
data
compare
that,
with
read-only
span
of
light
dot
to
string,
which
literally
just
returns
the
text
read-only
span
of
bytes
of
length
and
the
same
for
Costas
mean
there
is
no
cast
to
string
here.
There's
there's
no
cast
between
read-only
span
of
charm
to
string
there
isn't
implicit
counts.
E
B
Of
this
issue
that
if
I
just
mentioned
I'm
literally
removing
read
on
this
panel
bite
right
now
as
a
removing
support
for
utf-8,
because
it's
impossible
to
debug
the
code
and
developers
on
Monday
they're,
actually
developers
starting
at
menus
kind
of
a
pipeline
framework
that
then
I
create
it.
It
still
has
I
basically
wanted
to
make
it
utf-8
enabled
so
I
used
read
on
his
panel
bite
but
since
impossible
to
debug
I,
already
kind
of
I.
B
D
B
B
D
B
No,
but
then
debugger
doesn't
show
it
so
I
have
to
call
this
man,
you
don't
have
to
call
yeah
I,
basically
have
to
call
it
manually,
so
I
have
to
now
change
temporarily.
Why
I'm
debugging
this
method,
I
have
to
change
the
source
code
in
it,
and
then
I
have
to
remember
to
remove
this
to
utf-8
is
16.
Well,
okay,.
A
A
E
A
So
what
your
serger
position,
my
god
well
I,
mean
it
hecqs
use
a
hex
view
right
so
likely
it
will
work.
The
only
problem
is
that
it's
not
as
compact,
so
if
you
have
like
five
locals
you,
it
doesn't
doesn't
render
nicely
and
then
the
other
problem
that
you
still
have
is
that
I
think
montiel,
bigger
problem
is
just
the
time
so
I'd
like
if
you
look
at
the
method
signatures,
if
you
say
I,
take
we'd
only
spend
off
char
I
can
kind
of
have
that
right
on
what
it
is
we
take.
E
I
know
I:
do
I
I
didn't
want
to
go
over
later
what
it
would
look
like
if
we
were
to
use
read-only
satified
everywhere,
because
it
is
a
viable
proposal
and
languages
like
ago
are
considering
that,
but
they
aren't
running
into
problems
with
it
and
I
would
I
want
to
share
at
the
end
what
those
problems
might
look
like
if
we
were
to
do
that
as
well.
So.
A
E
B
A
E
Spam
hi,
so
all
those
dollars
are
all
those
apos
have
utf-8
in
the
name,
but
they're,
actually
all
landscape
and
will
always
be
asking
for
all
time.
The
reason
that
they
will
always
be
asking
for
all
time
is
because
fundamentally
they're
working
with
not
text,
fundamentally
they're
working
with
things
like
integral
types
and
they're
just
saying
what
is
what
is
the
ASCII
representation
of
this
integral
type
like
as
its
traveling
across
the
network
yeah?
And
they
starting
about
imitations
and
we're
talking
about
what.
B
B
E
Then
the
only
other
place
that
I
can
think
of
that
we
have.
It
is
the
Jason
stuff
right
now,
yeah
and
and
so
I
like.
If
we
add
this
type,
what
we
do
going
forward
is
we
say
if
you're
reading
utf-8
text
you
take
Chari
and
if
you're
reading
from
the
lyre
you
can
take
bite
and
then
you
should
in
the
in
the
parameter
name
saying
you
can't
fail
sort.
That's
how
your
namesake
and
I
do.
E
I
did
talk
about
that
briefly
at
the
beginning
of
the
document,
even
though
we
didn't
go
over
it
here,
I
basically
laid
out
like
if
exactly
what
you
said.
If,
if
you
operate
on
bytes
assume
it's
coming
from
the
wire
assume
that
it
might
not
actually
be
utf-8
and
you're
required
to
do
validation
under
the
covers.
If
you
take
UTF
HR,
you
can
assume
it's
utf-8,
because
you
can
assume
someone
in
front
of
you
actually
did
not
chop
now.
E
E
E
Thing
it's
because,
if
you're,
if
you're
working
with
discontinuous
buffers
of
data,
the
super
sequence,
that's
generated
from
all
of
these
buffers
being
accountant,
ated
together,
may
be
valid,
even
if
the
individual
buffer
itself
isn't,
for
instance,
if
data
is
coming
from
the
wire-
and
it
does
happen
to
be
valid
utf-8
but
just
happened
to
get
split.
Yet
in
the
middle
of
a
multi
byte
sequence,
the
individual
sequence.
That
you're
reading
like
logically
represents
part
of
a
valid
utf-8
string
right,
even
though
that
span
itself
is
not
valid.
To
what
I
say.
Valid
I
mean.
G
E
In
a
row
yeah,
okay,
it
means
you,
it
means
you
should
never
see
that,
but
more
importantly,
it
means
that
you
can
pass
it
to
something
like
your
database
API,
and
you
should
have
an
expectation
of
how
that
API
will
behave
as
in
every
every
every
component
that
you
pass,
that
sequence
to
should
behave
in
a
well-defined
manner
and
not
cause
bugs
in
your
application.
So
then.
B
E
Are
actually
can,
can
you
look
for
the
word
text?
Writer
in
the
stuff
in
this
document,
I
mean
my
my
initial
problem.
That
would
be
encoding,
that
utf-8
exposes
that
it
is
type
utf-8
encoding
and
we
compare
on
that
validate
which
takes
in
a
mountain.
There
outs
a
span
of
takes
in
a
span
of
banking-house.
B
B
C
E
C
A
I
think
that's
the
nothing
you
have
to
validate.
After
the
time
code.
Instantiate
I
mean
it's
exact
same
thing
you
have
today.
Somebody
can
call
a
constructor
about
a
valid
data
by
with
reflectional
with
the
fields
and
drop
the
object,
but
you're
not
protecting
yourself
against
that
by
such
everything.
G
One
way
in
my
mind,
it
adds
more
value
than
hard.
Aryan.
Is
that
if
you
are
careful
in
your
code
or
your
library's
code
that,
when
you
translate
from
readers
front
of
a
green
inside
of
how
you
do
validate
at
that
point,
if
you
do
that,
the
compiler
will
make
sure
that
that
nobody
is
using
a
con.
Validated
well
I
mean
that
that's
the
types
of
impatient.
Yet
right.
E
Ones
guys
I'm
Hungarian
I
did
yeah
yes.
So
due
to
your
question
else
in
like
that,
that
is
I,
guess
one
could
make
the
argument
that
it
is
a
little
bit
of
an
academic
distinction,
because,
if
you're
doing
something
like
attempts,
manipulation
of
a
process,
an
API,
you
might
already
have
to
interpret
the
text
just
as
a
matter
of
your
API
doing
its
work
at
that
points,
you're
kind
of
already
doing
validation
anyway.
One
example
of
that
was
the
like.
E
The
the
JavaScript
escaping
routines
that
we
were
talking
about
the
other
day
like
if
we
have
to
determine
in
some
particular
room,
is
in
a
whitelist.
Well,
the
only
way
that
we
can
determine
that
is
if
we
actually
decode
the
sequence,
which
necessarily
involves
an
elevation
anyway.
So
some
AP
is
some
api's
do
have
an
academic
distinction,
but
what
I?
E
What
I
was
getting
up
earlier
is
on
say
that
again,
like
you're
you're,
talking
to
your
database
through
an
API
like
that,
any
frame
of
something
like
that
like
if
that
takes
a
read
when
we
stand
a
beauty
FK
chart
as
a
parameter.
That
API
is
very
clearly
saying.
I
only
expect
you
to
give
me
valid
utf-8,
maybe
I'm
not
going
to
do
validation
before
I,
actually
split
it
out
to
the
Y
or
maybe
I'm
just
going
to
project
an
end
copy
and
go.
E
C
E
E
A
E
E
We
we
want
to
make
sure
that
developers
have
an
expectation
of
what
kind
of
data
they're
getting
back.
In
your
particular
case,
your
your
utf-8
Jason
reader
I
believe
you
have
a
property
which
is
raw
value,
which
is
exposed
as
a
read-only
span
of
bite.
Correct,
like
here's,
the
you
boss,
stuff,
like
all
from
the
wire
I,
haven't
done
any
type
of
inspection
on
Miguel.
I
can't
tell
you
if
it's
valid,
that's
totally
fine,
because
you're
exposing
it
as
real
monsters
like.
E
C
A
Think
anything
that
involves
like
you
know,
you
know
it's
a
string
like
the
opportune,
a
yeah
I
would
yeah
member.
Why
would
you
ever
go
with
only
span
applied
at
that
point?
You
would
I
would
hope
you
want
yeah,
it's
I'm,
saying
I.
Think
the
API
you
just
talking
about
you
just
wouldn't
have
held
like
you.
You
would
say
right:
property
ball,
except
the
real
news
event
of
the
day,
video.
A
This
water
comes,
but
there's
no
guarantee
well,
no,
but
I
think
you're,
throwing
out
the
baby
with
the
bathwater
right.
So
you
could.
We
can
make
the
same
argument
for
any
type
that
as
a
constructor
that
takes
logically
in
on
now
element
right.
Can
you
can
you
reflection,
inspect
the
fields
in
certain
from
now?
Yes,
right
is
now
every
method
on
this
time
required
check.
The
field
is
not
valid
for
in
doing
operation.
No,
yes
say
if
you,
if
you
Sanchez
described
in
the
same
way,
you
know
it's
valid.
A
B
C
E
So
I
can
actually
answer
your
question.
Awesome!
Yes
to
the
question.
A
the
only
time
where
a
readable
span
of
you
thr
may
not
be
valid,
just
like
the
only
time
wearing,
real
and
of
char
might
not
be
valid,
is
if
it
happens
to
represent
chumped
data
within
a
larger
piece
of
text.
Where
that
larger
piece
of
text
is
well-formed,
so
say
that
I'm
reading,
like
the
entire
works
of
Shakespeare
and
I'm
just
reading
it
in
4k
chunks
like
one
of
those
chumps,
might
go
across
a
multi
per
unit
sequence
and
that's
okay.
E
But
if
I'm
talking
about
something
like
the
JSON
writer,
you're
Jason
writer
expects
to
take
a
full
string
as
a
parameter.
Basically
right,
like
the
read
only
span
of
char
or
you,
thr
that
you
take
is
not
expected
to
be
a
chunk
contestants
expected
to
be
D
text.
At
that
point,
you
should
assemble
Animus.
D
E
G
C
E
Reason
the
reason
that
I
don't
want
to
force
validation.
There
is
because
the
idea
is,
if
you're,
if
you're
working
with
them
with
safety
rails,
that
the
language
and
the
types
are
giving
you
like,
we
should
be
able
to
assume
that
the
developer
has
done
the
right
thing
and
assuming
the
developer
has
done,
the
right
thing
allows
us
to
mate,
allows
us
to
take
shortcuts
that
maybe
we
wouldn't
have
been
comfortable
taking
otherwise,
so
what
I
don't
understand
is
that
go
back
to
Nix?
What's
the
interest
of
just
talking
about.
A
E
You
have
ill
if
you
have
a
read-only
stem
of
UTF,
HR
and
use
the
developer,
have
not
done
something
like
manually
fudge,
witty
the
underlying
data
or
like
sliced
it
weirdly
like
that's,
then
that
statement
is
correct.
The
only
time
you
should
ever
have
that
is,
if
it
represents
a
chunk,
were
these
super
sequences
Mike?
That's
not
actually
do
it.
I
go
to
might
even
like
not
to
kind
of
target.
You
use
memory,
Marshall
block
house
to
that
point,
I
see
if
you
run
it
through
the
whatever
API
of
dozens
of
lights.
A
Let's
actually
go
over
this
grant
to
you
example,
this
of
it
to
constructing
the
Ray
yeah.
A
few
of
you.
Th
are
young.
You
fill
it
with
that
bath
and
I
fill
it
with
random
data.
Yeah
then
I
cannot
construct
like
even
valid
values
of
you.
Th
are
just
get
it
resulting
sequence.
A
little
rough
on.
You
know
that
with
Chara
racetrack,
exactly
so
like
an
X
and
I
think
that's.
B
So
I
have
to
tell
you
this
whole
validation
thing
to
me.
It's
yes,
today,
it's
very
inconvenient
for
a
developer,
because
I
have
to
use
Hungarian
notation.
Every
parameter
that
takes
read-only
span
of
bite,
I
have
to
say
it's
utf-8
and
same
for
locals
and
fields,
and
so
on
and
so
on.
I,
don't
have
the
debacle
support
its
elements?
There
are
many
benefits,
I,
don't
think.
Validation
is
one
of
the
strongest
benefits
and
the
reason
for
it
is
that
if
my
life
depended
on
it,
I
have
to
validate
anyway.
B
My
life
does
not
depend
on
it
because,
as
a
side
effect,
I'm
all
validating,
because
I'm,
parsing
and
I
expect
you
know
digits
and
if
I
find
something
that
it's
not
a
digit
I'm,
you
know
like
I'm
failing
the
main
benefit
is
it
makes
programming
using
this
type
saying,
as
opposed
to
you
know
very
clearly:
it's
not
really
about
safety
at
validation.
Nobody.
A
E
Is
what
kind
of
data
you
should
expect,
and
this
is
what
it
means
so
it
it
removes
the
utf8
from
the
parameter
names.
Well,
it
says
as
long
as
you've
gotten
one
of
these.
In
the
same
way,
the
data
is
probably
saying
the
same
way
that
if
you
have
a
read,
always
ban
of
charts,
they're
obably
saying
that
could
be
insane
exactly
it's.
B
So
or
someone
dancing,
the
interesting
thing
is
so:
yes,
we
don't
have
two
ways
to
cast
bytes
to
this
thing.
One
is
through
memory
marshal
like
has
no
cost
and
I
don't
get
anything,
and
then
there's
gonna
be
another
one
where
I
don't
have
to
use
unsafe,
Marshall
api's
and
yes,
there's
a
cost,
but
because
it's
not
very
long,
if
you
don't
get
that
we
do
some
validation
and
yeah.
A
B
E
You
shouldn't
have
to
pay
a
penalty
just
for
just
to
satisfy
our
paranoia,
but
regarding
things
like
overloads
and
what
what
what
the
actual
API
conveys
to
you
like
take
a
look
at
stuff
like
this
is
on
the
screen
right
now,
text
writer,
so
right
now,
text
writer
is
primarily
written
in
terms
of
string
in
char.
There
are
over
loads
of
write
that
take
things
like
int
long
and
so
on.
We
had
already
previously
approved
for
meeting
a
text
writer
dot,
write
of
room.
This
is
text
writer,
dot,
write
of
utf-8
a
no.
E
E
D
E
Okay
thanks,
so
the
idea
here
is,
if
you
have
a,
if
you
have
an
abstract
text
writer,
which
is
probably
a
screenwriter
or
similar-
that's
that's
using
utf-8
encoding
under
the
covers.
Writing
utf-8
data
to
that
writer
should
be
free
as
far
as
transcoding
is
concerned.
That's
why
I
believe
it
might
make
sense
to
add
these
overloads
onto
the
text
writer
base
class.
Maybe
maybe
we
don't
add
them
on
text
right
or
maybe
we
only
put
them
on
screen
writer.
E
D
Areas
where
you
landed
around
this
area,
you
know
your
asp
net
and
you've
got
a
read-only
memory,
a
byte
from
the
wire.
Yes,
and
now
you-
and
you
know-
if
we
have
a
method
like
this,
presumably
because
you're
gonna
write
out
some
data
that
you
got
from
somewhere
else.
It's
read-only
memory,
five
persons,
we're
doing
that!
Writing
you
thr.
What
do
you
think's
thoughts
are
on
that
so.
E
Reap
step
so
spam,
you
can
bounce
back
and
forth
because
you
can
use
memory,
metal,
diecast
memory,
you're
kind
of
in
a
hard
place.
Unfortunately,
my
thinking
on
that
was,
if
you
have
memory,
if
you
have
memory
of
bytes
for
asp.net
they're,
actually
using
a
custom
text.
Writer
under
the
covers
so
I
think
they're,
actually
in
an
okay
position,
because
they
can
just
cast
to
their
derived.
I
can
go
for
the
average
developer
election
say
the
average
of
elver
for
D
for
the
power
developer,
who
doesn't
have
their
own
derive
type?
D
E
E
That
would
be
the
the
easiest
way
to
do
it.
I
think
you
can
get
away
without
it,
but
I
would
have
to
jargon.
I
mean
anyone.
One
object
to
hold
the
reference:
it's
not
it's
not
order
in
its
its
own,
and
you
can't
you
could
also
cool
those
who
can
you
to,
but
but
yeah.
So
looking
at
this
one,
the
first
thing
that
I
see
of
if
text
writer,
because
text
writer
does
because
text
writers
have
multiple
one
codings
yep.
E
The
obvious
thing
on
this
is
the
encoding
also
should
get
where
it
takes
chars
and
strings
and
goes
to
bytes.
It
should
take
utf-8
chars
to
go
to
bytes
and
encoding
utf-8
says
done,
and
then
that
lets
the
type
the
default
implementation
of
text
writer
on
this
just
say,
sickness
to
your
encodings
magic
else.
E
So
I
I
didn't
want
to
add
it
on
to
the
encoding
class,
because
the
encoding
class
has
a
lot
of
overhead
and
legacy
that
I,
don't
think,
is
appropriate
for
high-performance
applications
like
had
proposed
a
separate
parallel
set
of
api's
which
operate
on
UT,
fhr,
bite
and
char
right.
But
the
problem
is,
you
need
to
make
it
fit
for
the
places
where
they
already
took
it
encoding
and
yes,
and
you
can't
ask
it:
is
this
encoding
being
utf-8,
you
can
only
ask,
is
it
the
shared
utf-8
encoding
decide.
E
Least
from
utf-8-
yes,
that
is,
that
was
a
good.
So
so
you
get
bytes
of
utf-8
or
get
bytes
that
accepts
UT
fhr.
Sorry,
we
don't
fan
of
you.
Th
are
just
like.
We
have
the
the
one
that
takes,
we
don't
we
span
of
utf-16
chart
and
then
the
the
obvious
answer
is
utf-8
encoding
says
return
as
yes
like
I,
don't
I
don't
have
the
api's
for
that.
E
In
this
proposal
and
I
know
that
you've
mentioned
that
I
agree,
we
will
have
to
do
something
there,
but
in
its
all
the
text
writer
it
gives
us
the
default,
but
what's
the
return
type
of
the
good
bytes
method?
It's
probably
spam
spam.
I
guess
well,
the
one
that
we
have
that
takes
a
span
in
is
the
thick
span
of
chart
in
is
it
takes
a
span
of
charter
or
span
of
byte
destination,
I
mean
we
can
we.
B
E
We
can
do
smarter
things
in
other
in
other
cases,
but
I'd
like
we
would
need
to
solve
it
for
the
for
the
stream
writer
that
took
it
encoding
that
wasn't
any
of
our
shared
encode.
Yes,
I
get
it
we'll
need
to
make
the
the
new
virtual
corner,
and
so
that's
my
the
cost
of
this
is.
We
have
to
put
something
on
encoding,
to
be
able
to
directly
and
and
by
the
way,
we're
doing
I'm.
E
Okay,
with
that
particular
scenario,
not
being
highly
optimized,
because
I
think
it's
sufficiently
real
right,
because
we
would
do
what
we
always
do
in
these
games
that
we
would
override
the
stuff
on
most
of
our
times
for
and
and
along
those
lines
like
all
of
the
API.
So
by
proposing
here
are
very,
we
optimized
for
when
the
sequence
is
well-formed,
but
these
api's
might
under
the
covers,
allocate
if
the
sequences
ill-formed
and
then
they
have
to
do
fix.
Ups
under
the
covers
again.
E
I
haven't
optimized
for
that,
because
it
should
never
happen
in
practice,
but
just
in
case
it
does
I
didn't
want
these
things
to
blow
up
anyway,
so
so
yeah,
binary
writer
and
text
writer
are
basically
like
two
sides
of
the
same
coin:
room
isn't
existing
to
prove
type.
It's
already
in
that
cork
Rio
preview.
There
is
an
existing
API
on
rune,
you
scroll
down
a
tiny
bit.
You
know
there
is
an
existing
API
on
ring,
which
is
trying
code
which
takes
a
span
of
char
as
destination
and
Alps.
E
E
B
E
B
E
Again,
this,
it
hasn't
shifted
an
ordinal
release.
Yeah
right,
like
we
can't
a
little
char
char,
moon
and
you
th
are
all
have
a
relationship
when
we
have
to
just
decide
yeah,
because
oh
so
memory,
extensions
of
the
the
api's
you
see
here
are
basically
just
clones
of
the
API.
Is
that
already
exist
as
specializations
for
enormous
biochar
right
I?
Don't
think
it
makes
sense
to
go
over
all
of
them,
but
there
are
some
very
specific
ones.
I
wanted
to
call
out
so
I
want.
B
E
Though
the
implementation
might
be
less
efficient,
oh
no,
even
article
table
yeah,
that's
why
that
I
mean
part
of
a
medley
is
we'll
see
if
HR
you
could
I
could
give
you
I
could
give
you
implementations
of
these,
where
the
API
names
themselves
might
be
different.
Maybe
it's
not
hanging
on
memory
extensions,
but
there's
nothing
prohibiting
us
from
making
a
portable
version
for
making
portable
equivalents
of
these
APRs.
You
might
have.
B
But
just
to
make
sure
this
is
super
important.
That's
what
I
said:
I
I
spend
now
a
month
prototyping
something
I
used
redundant
span
of
a
byte
and
because
of
not
having
this
not
having
that
debugging
story
and
some
other
games,
I'm
literally
removing
it
I
will
hand
it
back
if
I
have
it
otherwise
who
cannot
use
it.
It's
unusable
read-only
span
of
my
it,
as
that
is
literally
such
pain
in
the
part
that,
like
I,
don't
want
to
subject
any
developer
so
now
on.
E
My
cell
phone
in
funny,
when
you
mention
that,
because
I
mentioned
that
I
wanted
to
go
over
later,
like
what
would
it
mean
if
we
were
to
use
read-only
span
of
bite
instead
of
read-only
span
of
beauty
of
a
char?
There
are
two
things
that
immediately
fall
out
of
that
with
respect
to
the
api's
we're
looking
at
right
now.
The
first
is
that
these
api's
are
no
longer
extension
methods.
E
They
would
just
be
regular,
static
methods
on,
let's
just
say,
the
types
name,
utf-8
right
you
say:
utf-8
dot
upper
and
then
you
pass
in
the
read-only
santa
bite
that
you
want
to
uppercase
right.
The
the
second
point
of
that
is
that's
actually
kind
of
hell.
Girl
works
today
they
have,
they
don't
have
a
concept
of
extension
methods,
or
instance,
methods
hanging
off
of
their
slice
types.
Instead,
they
just
have
a
class,
a
namespace.
E
B
B
E
E
Of
them
Noah
for
the
time
go
so
one
other
thing
I
wanted
to
call
out
here
is
so
I
mentioned
that
these
are
already
an
equivalence
of.
What's
on
read-only
Spanish
are
two
points.
The
first
is
look
at
the
contains
method,
you'll
notice
that
I
have
extra
overloads.
That
might
not
make
sense
at
first
being
extra.
You
split
up
he's
typing.
E
E
I,
don't
necessarily
want
to
extend
that
to
being
able
to
pass
in
an
entire
string,
because
at
that
point
you
have
stuff
like
localization
to
deal
with.
You
have
transcoding
blah
blah
blah,
but
for
individual
charms
and
individual
rooms.
I
think
it's
it's
helpful
to
have
those
overloads.
Why
would
we
have
them
on
contains
and
it
will
not
have
them
on
index
M?
It
would
be
before
contains
index
of
starts
with
M's
with
another
thing,
I
just
didn't.
B
B
E
B
E
In
in
the
future
branch
right
now,
you
can
do
utf-8
string
down
literal
open
closed
hello.
What
works?
The
jet
will
recognize
a
method
call
and
will
emit
the
equivalent
of
low
stored
on,
and
it
will
pretend
that
you
had
written
the
equivalent
of
load
stored
on
utf-8
instead
of
just
a
regular
load.
Let's
the
return
to
work
is
the
return
type
duty
of
a
true.
It's
part
of
the
utf-8.
E
A
We
won't
yet
I
mentioned
in
said:
it's
Riva
is
the
last
time
I
talked
to
Matt's
about
this.
That
is
idea
of
target
typing
in
the
literals,
by
which
I
find
not
very
compelling,
because
the
basic
prevents
us
from
adding
overloads
to
existing
method.
The
text
string
yeah
because
you
never
call
them,
which
is
why
I
think
in
practice.
Let
me
design
overloads
like
I,
think
Jerry.
What
is
up?
There's
a
lot
head
string
overloads
because
I
could
inflict
the
magaman
would
be
well.
We
have
to
solve
this
problem
regardless.
E
B
E
F
B
A
E
That
is,
that
is
correct.
It
would
be
possible
to
ship
them
separately.
However,
when
I
was
talking
with
Josh
the
other
day,
he
thinks
that
the
strongest
argument
is
going
to
be
shipping
them
together
and
I
agree
with
him,
and
the
reason
for
that
is
what's
the
easiest
way
to
get
a
real
nice
man,
the
beauty
of
HR,
to
start
with
a
you,
th
attorney
yeah,
so
I
would
I
would
disagree.
E
Sorry
I
mean
I
would
say
that,
like
if
the
UTS
stream
you
tape,
each
string
without
utf-8
chart
is
bad,
but
I
think
I
would
not
hold
this
on
utf-8
string,
because
then
we
can
take
things
like
JSON
document
and
say
that
it
takes
utf-8
charm
and
not
like
their
matter.
Our
compiler
features
of
I
would
like
to
see
come
in
before
this
hits,
but
I
don't
think
that's
going
to
happen.
E
A
So
I
mean
in
general,
like
I,
think
that
so
what
you
said
about
YouTube
8
string,
it's
the
easiest
producer
for
charm,
yeah
nature
is
I.
Think
it's
true
of
you
have
little
support.
If
you
don't
have
the
books
of
rituals
I
think
you're
much
more
likely
to
have
a
binary
or
they
would
only
spend
on,
but
you
want
to
just
reinterpret
the
car.
It's
one
you
wouldn't
wait
to
get
to
the
radius
what
you
would
do
in
practice.
Okay,
so
your
literals
right
well,
I'm
saying
they
could
mean.
Thank
you.
How
cool?
A
E
A
E
A
Said
it's
like
no,
we
are
not
the
most
common
scenario
to
getting
a
char
today.
It's
some
ritual
I
buy
that,
but
I
think
that
that
only
flies
if
the
compiler
has
support
for
the
to
us
yeah,
if
we
don't
get
compiler
support
for
the
tools,
shipping
utf-8
string
doesn't
help
us
at
all
about
video.
For
my
thing
is
of
why.
E
B
B
A
Well
said
we
made
the
decision
of
the
compiler
will
not
have
support
for
you
to
write
in
the
tools
in
the
C
sharp
edge
release,
meaningful
three
or
which
means
we
could
decide
to
ship
utf-8
string
in
for
your
I.
Don't
think
it
buyers
with
anything
I.
Think
I
think
that
so
basically
I
would
say
that
if
you
look
at
three
over
base,
you
have
to
except
utf-8
string
was
not
going
to
ship,
which
no
means,
while
shipping
char.
A
E
B
B
E
B
By
the
way
we
had
the
discussion,
I
don't
know
what
your
thoughts
are
on.
It
I
claim
that
we
don't
need
to
run
tech
support
or
what,
if,
if
the
we
just
need,
compiler
and
I
agree
with
amor,
rather
instead,
I
think
it
should
be
explicit,
but
imagine
that
we
had
compiler
syntax.
Where
you
can,
you
know
prefix
you,
a
internal
suffix,
you
ate
a
string
and
it
actually
returns
read
only
span
of
of
char
a
that's
basically
what
it
is,
because
it's
read
on
this
panel
of
tolerate
it
just
points
to
the
metadata.
B
If
you
want
to
create
he
people
type
from
it,
well,
you're
gonna
be
making
copy
anyway,
because
it's
gonna
be
on
the
heap
now
in
some
other
place,
so
we
you
know
like
there
can
be
a
constructor
for
future
utf-8
string.
That
takes
this
this
thing
and
just
comes
to
array
and
copies.
You
know
or
not
worry,
but
like
copies,
that
the
data
so
to
me
the
kind
of
MVP
for
this
feature
is
this
type
and
literal
support
in
the
languages
that
that
produces
it.
Yeah.
E
B
E
There
are,
there
are
two
other
method
classes
on
member
extensions.
I
want
to
call
attention
to.
The
first
is
trim
yeah
yeah,
it's
you'll
notice
of
the
trim
overloads
are
relatively
pale
compared
to
the
arena
lifespan
of
chart,
but
once
the
reason
for
that
is
just
the
the
difficulty
of
implementing
all
of
those
other
equivalents.
So
this
is
he.
This
is
what
I
consider
to
be
the
Minimum
Viable
Product.
Can
you
tell
me
what
we're
actually
missing
we're
missing?
It
overloads
the
trim.
E
E
Think
so
I
mean,
if
you,
if
you
start
with
a
utf-8
string
that
can
be
in
this
all
works
in
the
future,
where
that
can
be
converted
to
a
read-only
memory
of
UTF
HR
or
a
read-only
memory
of
bytes.
Each
of
those
can
be
converted
to
the
appropriate
spans.
Additionally,
read-only
span
of
UTF
HR
can
be
converted
to
read
understand
about
anything
else
requires
on
sale,
so.
E
Only
open
the
other,
the
other
methods
that
are
weird
here
at
least
compared
the
utf-16
equivalents-
are
to
upper
into
lower
and
I.
Have
a
giant
comment
explaining
why
they're
different
the
key
difference
is
that
the
two
upper
and
two
lower
methods,
the
tape
read-only
stanitch,
are
and
write
to
Spanish
are
changing
case
where
utf-16
does
not
change
the
number
of
utf-16
code
units.
That
means
that
you
can.
You
can
perform
that
case
inversion
in
place.
The
reason
that
it
doesn't
change
the
length
is
because
we
use
what's
called
simple
case
folding
under
the
covers.
E
I
won't
get
into
the
full
details,
but
it
guarantees
the
link,
will
never
change.
Utf-8
is
different
utf-8.
When
you
change
case,
you
can
expand
the
length
of
the
string
shrink,
the
look
of
the
string.
That
means
that
this
method
necessarily
behaves
differently
than
the
utf-16
equivalent.
So
concretely,
that
means
grown
to
this
manner.
So
concretely,
that
means
that
a
take
a
look
at
just
to
our
two
levers.
Just
before.
E
Just
after
the
comment
you
know,
including
the
comment
in
the
comment
down
concretely,
that
means
of
a
you
can't
pass
the
same
buffer
for
both
source
and
destination.
If
you
do,
you
might
corrupt
your
data,
UT
of
the
utf-16
equivalence,
do
allow
you
to
pass
the
exact
same
buffer.
That
also
means
that
if
we
run
out
of
room
in
the
destination,
while
we're
reading
the
source
and
doing
the
conversion
will
report
false
bull,
which
will
Oh
will
return
negative
one
to
you
and
then
leave
the
destination
corrupted.
E
Basically
I
shouldn't
say
corrupted:
they
leave
the
destination
of
partially
converted.
Do
we
have
any
other
places
that
we've
added
right
to
spend
them,
because
most
of
the
places
that
I've
seen
we
we
can
check
the
length
upfront
and
then
we
don't
write
anything
so
either
we
didn't.
We
give
you
a
valid
thing
or
were
in
operation
status,
and
we
tell
you
that
we
feel
you
know
sort
of
stuff.
So
the
upper
there
are
operation
status.
Ap
is
later
in
this
document.
E
I,
don't
think
we're
gonna
get
to
them
today,
but
they
exist
in
their
written
here.
This
was
simply
an
analogue
of
what
already
existed
on
memory,
extensions,
those
those
methods
today
detect
that
this
nation's
too
small.
They
were
term
negative
one
and
they
presented
what
I
present
amendment
the
existing
methods
to
upper
to
lower
front.
E
Span
of
char
extension
methods,
but
these
don't
fit
excited
serangoon.
They
don't
resize,
but
because
the
length
can
never
change
when
you're
doing
case
conversion
for
utf-16.
They
know
what
the
destination
length
requirement
is
up
front,
which
means
they
can
just
return
negative
one.
If
the
destination
is
too
small,
I
can't
make
that
determination
without
actually
walk
in
the
entire
data,
which
means
I
can't
return
negative
one
eagerly
I
have
to
do
all
of
the
work
to
do
the
case
and
then
return
negative
one.
E
And
the
extension
methods-
yes,
because
yeah
I
would
expect
do
it
to
in
no
two
hundred
to
instill
in.
You
can
always
remember
the
first
place
that
you
actually
had
to
do
work
and
you
get
a
copy
of
that.
So
we
could
do
that,
but
that
kind
of
works
against
the
value
talk
or
having
all
of
this
utf-8
work
in
the
first
place,
which
is
I
want
to
operate
on
data
coming
from
the
network
with
as
minimal
amount
of
overhead
as
possible.
But
once
of.
B
The
one
thing
we
could
do
is
say
we
have
operation
status
API.
So
therefore
the
you
know
I
really
want
to.
At
week
we
deal
with
like
non-contiguous.
You
know
rooms
and
stuff
like
this.
Okay,
and
then
we
have
kind
of
CalPERS.
They
are
not
completely
insane
like
allocate
every
single
time,
but
at
least
you
know
they
either
work
or
don't
they
are
the
triac
waiver?
Yes,
walk
it
walking
it
twice
is
fine.
E
It's
not
like
yeah,
like
all
you
have
to
do,
is
count
the
number
of
bytes
you
have
to
increase
in
the
first
walk
and
I've
agreed
with
Christophe.
The
operation
status
would
be
the
one
of
you
wanted
to
do,
one
in
and
you're
willing
to
pay
the
loop
yourself
and
if
you
just
want
it
to
to
work,
we
shouldn't
go
around
corrupting,
but
we
shouldn't
go
around.
Writing
the
buffers
and
saying
oh
I'm.
Sorry
I
forgot
what
I'm
supposed
to
do
that
and
then
that's
fair.
E
That's
why
I
wanted
to
bring
it
up
for
discussion,
and
maybe
maybe
the
answer
is
just
we
don't
even
have
this
look?
That's
the
third
alternative
right
I
mean
it's.
If
we
shift
we'd
immediately
get
somebody
saying
hey,
you
seem
to
hit
Plus
this
in
your
future
purely
for
things
like
utf-8
string.
This
isn't
an
issue
because
they
allocate
any
way,
maybe
in
utf-8
string
bell
to
upper
to
lower
right
I'm.
B
See
operation
status
API
is
something
that
we
build
on
top,
so
you
know
we
have
a
prototyping
cone
effect,
slab
of
text
writer
that
takes
transformers
and
then
transformers
used
operation
status
ad
is
to
do
all
this
magic
for
you,
I
think.
That's
the
only
say
what
the
same
way
to
use
the
idea
is
again.
I'm
kind
of
you
know,
thinking.
B
It's
not
even
kind
of
the
line
of
business
developer
developer
and
the
answer
is
decaying
and
we
cannot
tell
them
to
do
this.
I
mean
they
gonna,
be
basically
like
okay,
I'm,
not
using
utf-8
string
anymore,
because
in
ut
of
x16
I
can
just
basically
you
know
to
upper
to
lower
and
it
all
these
words
can
be
chained.
Only.
E
E
My
answer
is:
this
should
do
exactly
what
encoding
does
if
we
said
that
encoding
needs
to
count
and
see
how
many
bytes
it
will,
if
the
coding
utf-8
counselor
number
of
bytes
before
writing
anything
yeah,
and
this
needs
to
count
the
number
of
output
charts
before
it
writes
anything,
and
if
we
say
that
coding
is
allowed
to
be
messy
and
this
is
allowed
to
be
messy.
Okay,
like
that's,
that's
very
exactly
my
like.
No,
we
need
to
have
consistency
with
what
we
do
with.
E
If
we
return
a
negative
memory.
That
means
we
didn't
do
anything
or
if
we
return
a
negative
number,
it
means
I,
probably
destroyed
all
of
the
data
that
you
imagined
how.
How
do
we
keep
from
getting
into
a
situation
where
developers
might
expect
an
operation
to
be
O
of
something,
but
it's
actually
o
of
something
else.
I
mean
documentation
of
the
answer.
Only.
B
E
A
E
E
E
If
this
represents
well
form
utf-8
projected
as
a
read-only
span
of
UTF
HR
and
then
just
return
that
exact
same
thing
back
to
me.
Otherwise,
new
up
a
UTF,
a
char
array
that
contains
this
data,
but
where
everything's
been
replaced
to
be
well
formed
and
then
returned
east
and
pointing
to
that
array,
but.
B
I
thought
that
very
common
scenario
would
be
I
call
this
meant
out
or
something
like
this,
and
if
it's
utf-8
well-formed
I
do
whatever
I
was
doing
otherwise
I'd
throw
an
exception
and
I
say:
I,
don't
know
what
you
want
me
to
do,
because
you
wanted
to
pass
utf-8
JSON
and
it's
not
even
utf-8.
You
forget
about
Jason.
H
E
Want
to
the
the
success
path
from
this
should
hide
from
the
user,
the
unsaved
as
okay.
So
so
it
sounds
like
what
we
actually
wanted
are
three
different
methods.
The
first
is
as
when
we
hear
like
given
a
spam
like.
Is
it
just
welcome
yes
or
no?
The
second
is
given
a
spam.
Try
projecting
it
as
read-only
Stan,
WTF,
HR
and
return
false.
If
you
can't
do
it.
Yeah
I,
I,
I'm,.
E
For
just
checking,
because
I'm
a
database
layer
and
I
have
some
kind
of
validation
turned
on
before
I
actually
convinced
stuff
to
desk.
It's
all
those
fights
in
the
end,
but
I
want
to
make
sure
I
want
to
make
sure
the
caller
didn't
get
me
bad
data,
because
I'm
running
in
a
debug
mode
or
something
then
I
just
work
on
disk,
or
is
there
any
way
that
I
registered
a
third?
The
third
overload
would
basically
be
always
get
me
back
a
really
stay
on
UTF
HR.
C
E
E
Yeah
I
mean
yeah,
so
I
fix
up
what
may
be
useful.
The
the
assert
this
is
valid
and
give
it
to
me
as
useful.
Try
but
I,
don't
know
that
the
the
one
that
just
hides,
because,
obviously,
if
you
have
this
I
guess
either
one
could
be
written
in
terms
of
the
other
of
which
is
this
doing
the
out
underscore
for
you
or
is
the
that
one
complication
and
maybe.
D
E
E
E
It's
it's
fantastic
by
the
way
that
that
method,
once
we
clean
it
up,
it
does
eventually
need
to
be
made
public
because
everything
is
written
in
terms
of
that,
if
we
were
to
have
an
overload
that
says,
fix
up
whatever
you
need
to
do
and
then
give
the
Baptist
an
acute
EHR.
Would
we
be
okay
with
that?
Just
allocating
considering
his
relationship
like
this
should
never
happen
in
the
first
place.
The
only
reason
I'm
doing
this
is
to
fix
up
that
day.
B
E
They
were
taking
a
span
and
out
of
memory,
so
at
that
point
it
will
return
thing.
I
got
two
over
and
of
at
that
point
it
would
literally
just
return
you
to
your
fixture.
There's
no
reason
for
it
to
return
anything
else.
If
it's
allocated
Louis,
that's
true,
so
then
it
would
have.
Essentially
it
would
be
the
utf-8
string
of
read-only
span
of
mic,
so
you
mean
the
utf-8
strength,
instructor,
yeah,
yeah,
that's
yeah
constructor
was
implicit
in
my
head
with
you
out
there
yeah,
so.
B
E
So
it
sounds
like
we
see,
we
see
that
we
all
agree
on
what
the
internal
shape
and
don't
let
them
should
be.
We
just
need
to
like
massage
what
the
parameters
and
stuff
are
to
make
it
more
useful.
Okay,
the
only
other
thing
that's
in
this
document,
our
operation
status
returned
the
api's
I,
don't
know.
If
that's
interesting
for
this
region.
For
me
it
is
a
planet.
Very
good
string,
escape
string
is
not
actually
forbidden,
but
I.
E
Think
things
that
you
want
to
like
to
upper
to
lower
or
in
this
document
again
is
not
the
other
than
system.
Thanks
yeah
awesome,
we
don't
care
if
it's
public,
so
we
could.
We
could
word
mean
so.
The
operation
status
API
is
that
I
have
at
the
end
of
this
document,
are
to
offer
to
lower
and
to
upper
impairing
to
lower
invariance,
and
also
translating
ones
are
interesting.
Yeah.
The
reason
that
I
have
separate
transcoding
api's
is
to
work
around
limitations
of
system
text
Mikoto
getting
school
I
can
as
soon
as
if
you.
E
Scroll
down
until
you
see
a
large
block
of
code
with
comments
there,
we
go
so
there's
two
upper
to
lower
its
a
typical
operation
status,
API,
the
two
upper
and
two
lower.
If
you're
given
Mel,
if
they're
given
ill-formed
inputs
may
return
invalid
data,
unless
the
underlying
localization
library
says
I'm
just
going
to
try
to
do
so
at
which
point
we'll
just
say:
okay,
we
don't
we
defer
to
live
ICU
or
we
defer
to
the
class
event.
I
see
it's.
C
E
It
will
match
whatever
pattern
at
does:
do
we
have
a
government
influence
API
or
to
upper
to
lower
no
for
the
reason
that
I
mentioned
earlier,
but
he
declared
expand
or
shrink
and
I
would
corrupt
the
buffer
at
that
point,
what
what
I
would
have
to
do
under
the
covers
is
I
would
have
to
I
would
have
to
rent
a
temporary
buffer
to
write
everything
into
and
then
then
copy
everything
back
into
the
original
source
buffer,
but
if
I'm
doing
that,
I
may
as
well
just
make
that
evident.
Why
would
you
not.
D
B
E
Well,
if
they,
if
the
original
data
was
to
lower,
was
already
lowercase
and
you
call
to
or
and
then
I
realize,
I
have
to
back
out
a
might
now.
Uppercase
I
know
I'm
stupid
I'm.
Just
writing
the
original
data.
At
that
point,
that's
the
only
way
for
me
to
recover
is
to
make
a
copy,
but
it's
by
making
a
copy
when
it
wasn't
in
place
anyway
right.
E
So
you
have
so
that's
to
upper
to
lower
any
coding
redundant
in
code.
What
do
you
mean
info
Crisco,
yeah,
no
transcoding
can't
we've
done
a
place
for
the
same
reason
that
can
shrink
one
die
channel
and
he
goes
right.
No,
a
lot
of
them
the
code.
You
would
count
going
from
a
to
T
of
16
to
utf-8,
but
there
will
never
drink.
However,
utf-16
is
16-bit
bytes.
E
B
E
Be
acquired
so
there
there
already.
Our
API
is
on
system
text
encoding
to
say
things
like
how
many,
how
many
bytes,
or
how
many
chars
build
this
thing
result
in.
However,
you
still
can't
use
that
to
perform
an
in-place
update,
because
maybe
this
part
of
the
string
shrink
we're
just
gonna
bittering
expanded.
So
maybe
the
total
number
of
code
units
is
the
same
in
the
end,
but
the
string
did
a
like
a
weird
accordion
thing
and,
as
a
result,
basically
to
make
a
duplicate
on
the
other.
B
E
E
F
B
F
B
G
E
E
B
Going
okay,
it's
a
ski!
By
the
way
that
takes
you
read
on
this
panel
trying
we
heard
I
didn't
have
it
here,
but
okay,
then
maybe
that's
basic.
You
know
yeah
frankly
those
two
because
I'm
thinking
about
you
know
common
operation,
some
like
payloads
of
HTTP,
yes,
I
kind
of
would
prefer
to
just
too
many
of
them
in
places
as
much
as
possible.
We
could
have
a.
E
Little
we
could
have
ASCII
equivalents
instead
of
utf-8
equivalents
that
would
operate
on,
read-only
stand
a
bite
and
those
would
just
fail
if
they,
if
they
saw
anything
that
wasn't
asking,
especially
since
HTTP,
is
a
very
specific
scenario
of
yours
and
HTTP.
As
far
as
the
payload
and
headers
go
are
in
volume,
utf-8
they're,
generally
nasty.
E
Mean
sometimes
I
know,
then
it's
not
positive.
We've
got
some
things
did
so.
Maybe
that's
something
we
should
just
consider
separately.
Then
ASCII
specific
transforms,
because,
honestly,
those
would
even
make
faster
than
the
utf-8
ones,
because
what
he
would
to
do
what
they
would
do
is
they
would
simply
say
you
know
what,
if
this
data
is
not
asking
I'm
not
even
going
to
bother
trying
to
inspect
or
fix
things
up,
I'm
just
immediately
going
to
return
there,
I
couldn't
do
the
operational
aspect.
E
E
Yeah,
the
transcoding
API
is
there's
replaced
invalid
sequence,
which
basically
says
if
I
see
an
invalid
UTF
subsequence,
while
I'm
doing
the
transcoding.
If
that
is
set
to
true
I'll,
replace
it
with
the
replacement
character,
a
50,
I'm
gonna
says
next
to
return.
This
was
an
alligator.
Yes,
however,
it
makes
it
very
difficult
to
consume,
because
okay,
great
I
return
to
you
invalidated.
What
do
you
do
like?
How
do
you
know
what
needs
to
be
fixed
up?
If
you
just,
let
me
fix
it
up
for
you
and
makes.
E
In
that
yeah,
but
how
do
you
know
what
to
do
with
that
information
once
I
give
it
to
you
like,
say,
say,
say
that
I
tell
you
by
the
bite
into
the
next
number.
52
represents
the
beginning
of
an
invalid
subsequence
of
utf-8.
How
many
bytes
do
you
strip
off
what
order
to
meditate
about
to
be
back
people
in
this
one,
the
user
look,
so
the
user
will
see
invalidated
coming
back
and
we'll
probably
just
well.
E
The
reason
for
that
is
again
come
back
to
the
scenario
I
mentioned
earlier
say
that
I
returned
to
you:
I
found
a
bad
bite
at
index,
52
and
then
you're
now
looking
at
these
bites,
and
you
need
to
think
you're
out
how
many
of
those
to
show
about
replaced
with
a
single
ffft
character
in
the
output
and
then
continue.
The
only
way
that
you
can
do.
That
correctly
is
to
basically
read
the
universal.
E
C
E
And
if
it
were
done,
and
in
that
case
house
false
handle
invalid
data
and
then
do
something
do
your
own
thing,
then
I
think
the
common
case
is
going
to
be.
The
developer
wants
to
be
a
character,
substitution
and
because
I
think
that's
the
common
case.
We
should
just
handle
it
on
their
behalf.
Do
we
let
people
pass
the
substitution
character?
No,
it's
FF
updater.
E
It's
the
like
diamond
with
a
question
mark
in
the
middle.
The
Unicorn
is
the
official
Unicode
replacement
character.
Unicode
also
lets
you
I
mean
if
they
say
that
it's
really
important
even
defined
in
what
you
should
replace
it
with.
If
you
seen
in
balancing
once
they
really
really
really
want
you
to
use
that
very
specific
character.
But
maybe
you
use
a
question
mark
or
something
else.
You
know
it.
If
you
want
that
behavior
in
system
text
encoding,
is
your
friend
well.
B
E
E
A
A
Go
through
the
motions
through
the
define,
what
it
is
you're
shipping
in
three
or
yeah.
Nobody
have
to
do
that
with
other.
We
need
to
see
the
scope
of
Jason
right
now
and
we
haven't
really
done
much
for
the
seal
that
I
get
either
I
didn't
like
you
have
to
make
some
homework
for
some.
What
did
it
mean
to
expose
so
Christopher
knew
and
like
how
soon
do
you
see
yourself
using
I'll.
B
D
E
B
This
one
this
one
makes
it
like.
Let's
say
now:
it's
available
right,
I
will
try
again.
I
will
basically
now
go
back
change,
some
places
or
other
overloads
that
you
know
on
Monday,
we'll
be
taking
strings
Ingrid
on
this
panel
charge.
Eight
and
I
will
attempt
again.
If
I,
could
this
and
literal
support
for
four
strings,
but
you
need
own
level
right,
yes,
yeah,
that's
I!
Think.
A
E
A
E
Asp.Net
is
everything
is
already
on
fire
there.
They,
they
are
more
interested
in
the
actual
exchange
type
things
like
utf-8
string
as
opposed
to
those
because
they're
they're,
considering
us
from
the
perspective
of
how
do
we
actually
exposes
to
our
overall
development
I
think
they
would
find
this
interesting,
but
I
don't
see
them
using
these
often.
B
I
suspected
that
they
actually
tried
to
start
doing
work
in
this
space.
They
would
like
to
be
yeah
cuz.
It's
I
understand
that
they
are
thinking.
Ultimately,
what
do
we
expose
the
developers,
but
they
have
any
internet
in
the
internal
code
that
could
give
you
other
things
that
right
there,
everybody
who
will
try
to
move
their
system
to
the
effect
will
be
back
after
a
while,
because
you
literally
cannot
debug
code.
Like
you
know
we
be
talking
like
hey.
E
E
A
E
Can
have
a
good
first
couple
of
notes:
yeah,
like
my
they
mean
that
I'm,
you
know
generally
a
security
person
like
that
I
guess
a
lot
of
the
way
that
I
approach.
This
is,
if
we
do
use
freedom
most
and
invite
for
everything
like
what
are
the
potential
pitfalls
of
that
so
I,
you
spend
some
amount
of
time
in
the
document
discussing
those,
including
historically,
how
its
cost
problems
right.
E
E
Chuckling
sounds
rented
the
framework
the
gold
language
to
go
SDK
like
does
provide
the
facilities
for
them
to
perform
that
track,
but
it
is
still
a
track
that
the
application
developer
explicitly
out
to
go
generally
looks
like
they
just
expect
all
of
those
they
just
expect
two
strings
to
be
slices
of
bytes,
not
good,
and
the
banks
are
doing
to
giving
them
right
well,
they
are
to
an
extent
like
they
do
differentiate
between
string
like
side,
so
that
might
change
in
the
future.
But
at
the
moment
there
is
that
resentment.
E
When
this
change
might
be
probably
be
bigoted.
Well,
it's.
The
real
reason
is
that
they
don't
have
a
concept
of
read
all
those
slices,
so
you
can't
projector
string
as
a
bite
slice
because
now,
all
of
a
sudden
suitable,
if
you
had
a
read-only
slice,
they
may
actually
have
an
interesting
discussion.
They've
been
having
over
the
past
few
years.
If
you
have
a
read-only
slice
type,
could
you
project
a
string
as
a
really
nice
slice
and
there
I
don't
think
they
quite
settled
on
an
answer?
E
But
it
is
something
they're
very
interested
in
personally
and
the
and
as
far
as
I
understand
their
most
recent
thoughts
around
that
the
implicit
production
from
strange
read-only
might
slice
that
projection
will
be
implicit.
There
would
be
no
projection
in
opposite
direction,
the
reason
being
that
they
want
the
string
to
be
not
just
an
immutable
representation
of
data,
but
they
wanting
to
be
an
immutable
representation,
immutable
data,
if
that
makes
sense,
and
because
there's
no
way
to
guarantee
that
the
read-only
slice
is
itself
immutable
because
someone
else
could
have
a
reference
to
it.