TUPLE: entity < identity-tuple id attribute ; TUPLE: edge < entity parent start-pvertex end-pvertex geometry ; TUPLE: pvertex < entity next-pvertex parent vertex ; : edge-pvertices ( edge - pvertices ) { [ start-pvertex>> ] [ end-pvertex>> ] bi [ 2dup eq? not ] [ over next-pvertex>> swap ] while }