How to use anchors with fletcher to place nodes?

Is there any way to place a rectangle so that its west edge is at a specific point, rather than its center?

example: I would like to take the rectangle containing ASDF and move it so its west edge lines up with the center of the gray circle (node R9).

image

#import "@preview/fletcher:0.5.8" as fletcher: diagram, node, edge

#let line_nodes(istart, istop, origin, dx, radius:1mm, linestroke:(), ..nodefmt) = {
  /* Create nodes numbered nxy with "xy" from istart to istop,
   * starting at the origin, with horizontal separation dx
   */
  let nodename(i) = {
    let si = str(i)
    label("n" + ("00"+si).slice(-2))
  }
  for i in range(istart, istop+1) {
    node((rel: (i*dx, 0cm), to: origin), shape: circle,
          name: nodename(i),
          radius: radius, ..nodefmt)
  }
  edge(nodename(istart), nodename(istop), stroke:linestroke)
}

#let mygreen = green.darken(50%)
#diagram(
  edge-stroke: 0.3mm,
  mark-scale: 80%, 
  line_nodes(0, 20, (0cm,0cm), 5mm, radius:0.8mm,
             fill:mygreen, linestroke:mygreen),
  node((rel:(45deg, 1.2cm), to:<n01>), name:"R9", shape: circle, stroke: black, fill:gray, radius:1mm),
  node(pos:<R9.east>, align(left, block[ASDF]), width:4cm, stroke: 1pt+black),
  node(pos:<n01.center>, shape: circle, radius: 1.2mm, stroke: mygreen),
  node((-8mm,0cm), align(bottom, text([...], bottom-edge: "baseline", baseline:-0.25em, size: 20pt)),
       ),
  edge(<n01>,<R9>,stroke:mygreen,bend:30deg)
)

Fletcher nodes are more like table cells and can only be anchored by their center, unfortunately. However, if you happen to know the width of the node, you can translate it manually:

node((rel: (2cm, 0cm), to: <R9.east>), align(left, block[ASDF]), width:4cm, stroke: 1pt+black),