[ ] [ [ 0 1 make-vefs dup 2 3 [ make-ev-one ] bi@ [ opposite-edge>> ] dip make-ef 7 make-ev-one dup face-ccw face-ccw 4 5 6 [ make-ev-one make-ef vertex-cw dup face-ccw face-ccw ] tri@ face-ccw make-ef opposite-edge>> 8 make-ev-one dup opposite-edge>> '[ dup face-ccw face-ccw dup _ eq? [ drop f ] [ make-ef opposite-edge>> t ] if ] loop drop ] make-b-rep { [ check-b-rep ] [ faces>> length 9 assert= ] [ vertices>> length 9 assert= ] [ edges>> length 32 assert= ] } cleave ] unit-test