-- 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 & { // Is this allowed? Probably not as per comprehension rule (ref fixes.)
    e: {}
}

{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: {}
  })
  {
    ["foo"]: {
      b: (〈1;(〈1;-〉)〉|null)
    }
  }
  {
    ["bar"]: {
      b: 〈1;-〉
    }
  }
  f: 〈0;let B〉
  schema: {
    next: 〈1;let _schema_1〉
  }
}
-- out/eval --
Errors:
schema.next: structural cycle

Result:
(_|_){
  // [structural cycle]
  e: (struct){
  }
  a: (struct){
    d: (struct){
    }
    e: (struct){
    }
    c: (struct){
    }
  }
  b: (struct){
  }
  s: (string){ "foo" }
  c: (string){ "foo" }
  d: (struct){
  }
  f: (struct){
    open: (int){ int }
  }
  schema: (_|_){
    // [structural cycle]
    next: (_|_){
      // [structural cycle] schema.next: structural cycle
    }
  }
}
