-- in.cue --
a: {
	{{
		b
		c
		d: b
		e: c
	}}
	c: {}
}
b: {}
s: "foo"
c: s

// s is technically in a new struct here so it will have a one higher count than
// the one before.
d: [s]: 3

e: {}

e & {
	e: {}
}

p: {
	{X=["foo"]: b: X | null}
	{[Y="bar"]: b: Y}
}

let B = {open: int}
f: B

schema: {
	next: _schema_1
}

let _schema_1 = schema
-- out/compile --
--- in.cue
{
  a: {
    {
      {
        〈3;b〉
        〈2;c〉
        d: 〈3;b〉
        e: 〈2;c〉
      }
    }
    c: {}
  }
  b: {}
  s: "foo"
  c: 〈0;s〉
  d: {
    [〈1;s〉]: 3
  }
  e: {}
  (〈0;e〉 & {
    e: {}
  })
  p: {
    {
      ["foo"]: {
        b: (〈1;(〈0;-〉)〉|null)
      }
    }
    {
      ["bar"]: {
        b: 〈1;-〉
      }
    }
  }
  let B#1 = {
    open: int
  }
  f: 〈0;let B#1〉
  schema: {
    next: 〈1;let _schema_1#2〉
  }
  let _schema_1#2 = 〈0;schema〉
}
