Here is a sample code:
#import "@preview/fletcher:0.5.8": diagram, node, edge, shapes
#figure(
caption: [E-R diagram for hospital],
diagram(
node-inset: 0pt,
node((0, 0), [_takes_], inset: 1em, shape: shapes.diamond, stroke: 1pt),
edge("l"),
edge("r"),
edge("d"),
node((-1, 0), table([_patient_], [id \ name \ age])),
node((+1, 0), table([_doctor_], [id \ name \ department])),
node((0, 1), table([_test_and_exam_], [id \ name \ result])),
),
)
This produces:
while I want all edges to be snapped to corresponding tables.

