#name: retain references with interleaved embedding
#evalFull
-- in.cue --
a: d: {
	#base
	#info: {...}
	Y: #info.X
}

#base: {
	#info: {...}
}

a: [Name=string]: {#info: {
	X: "foo"
}}
-- out/compile --
--- in.cue
{
  a: {
    d: {
      〈2;#base〉
      #info: {
        ...
      }
      Y: 〈0;#info〉.X
    }
  }
  #base: {
    #info: {
      ...
    }
  }
  a: {
    [string]: {
      #info: {
        X: "foo"
      }
    }
  }
}
