phc-graph/Graph-notes-copy2.vue

3972 lines
211 KiB
Vue

<!-- Tufts VUE 3.3.0 concept-map (Graph-notes-copy2.vue) 2017-04-11 -->
<!-- Tufts VUE: http://vue.tufts.edu/ -->
<!-- Do Not Remove: VUE mapping @version(1.1) jar:file:/nix/store/z92y35qgs6g3cvvh0i4f14mg5n47zvvi-vue-3.3.0/share/vue/vue.jar!/tufts/vue/resources/lw_mapping_1_1.xml -->
<!-- Do Not Remove: Saved date Tue Apr 11 14:04:44 CEST 2017 by georges on platform Linux 4.4.40 in JVM 1.8.0_122-04 -->
<!-- Do Not Remove: Saving version @(#)VUE: built October 8 2015 at 1724 by tomadm on Linux 2.6.32-504.23.4.el6.x86_64 i386 JVM 1.7.0_21-b11(bits=32) -->
<?xml version="1.0" encoding="US-ASCII"?>
<LW-MAP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="none" ID="0"
label="Graph-notes-copy2.vue" created="1479309847604" x="0.0"
y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false">
<resource referenceCreated="1491912284366" size="216026"
spec="/home/georges/phc/racket-packages/phc-graph/Graph-notes-copy2.vue"
type="1" xsi:type="URLResource">
<title>Graph-notes-copy2.vue</title>
<property key="File" value="/home/georges/phc/racket-packages/phc-graph/Graph-notes-copy2.vue"/>
</resource>
<fillColor>#FFFFFF</fillColor>
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-14</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6af7c0a80026548592b8dffca40a</URIString>
<child ID="6" label="Graph" layerID="1" created="1479309863303"
x="1370.5449" y="544.5457" width="51.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6afcc0a80026548592b833e3a781</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="7" label="Auto-generation of mappings" layerID="1"
created="1479309887096" x="1577.3673" y="857.9207" width="203.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6afec0a80026548592b88abb8384</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="8" layerID="1" created="1479309887097" x="1405.9238"
y="567.04584" width="263.0647" height="291.37488"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6affc0a80026548592b80b4ee7cc</URIString>
<point1 x="1406.4238" y="567.54584"/>
<point2 x="1668.4885" y="857.9207"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">7</ID2>
</child>
<child ID="11" label="Structural equality" layerID="1"
created="1479309904736" x="1330.5449" y="934.30304"
width="129.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b03c0a80026548592b81914701e</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="12" layerID="1" created="1479309904738" x="1394.5743"
y="567.0625" width="1.9411621" height="367.75" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b04c0a80026548592b8c27d0837</URIString>
<point1 x="1396.0155" y="567.5625"/>
<point2 x="1395.0743" y="934.3125"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">11</ID2>
</child>
<child ID="13" label="Invariants" layerID="1"
created="1479309905789" x="876.0447" y="543.5457" width="75.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b05c0a80026548592b80343782b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="14" layerID="1" created="1479309905791" x="950.5447"
y="554.6234" width="420.50024" height="1.8694458"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b06c0a80026548592b870fb7c6a</URIString>
<point1 x="1370.5449" y="555.99286"/>
<point2 x="951.0447" y="555.1234"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">13</ID2>
</child>
<child ID="15" label="Other" layerID="1" created="1479309906604"
x="1372.0449" y="409.30307" width="48.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b07c0a80026548592b8f5e19e10</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="16" layerID="1" created="1479309906606" x="1395.5449"
y="431.80304" width="1.0" height="113.242645" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b08c0a80026548592b840ee8fa0</URIString>
<point1 x="1396.0449" y="544.5457"/>
<point2 x="1396.0449" y="432.30307"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">15</ID2>
</child>
<child ID="17" label="Scope" layerID="1" created="1479309922342"
x="569.125" y="397.36423" width="52.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b09c0a80026548592b8217a1807</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="18" layerID="1" created="1479309922344" x="615.9132"
y="418.13733" width="273.0816" height="125.90839"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b09c0a80026548592b8dfab693e</URIString>
<point1 x="888.4948" y="543.5457"/>
<point2 x="616.4132" y="418.63733"/>
<ID1 xsi:type="node">13</ID1>
<ID2 xsi:type="node">17</ID2>
</child>
<child ID="19" label="Verification time" layerID="1"
created="1479309923132" x="543.125" y="529.5457" width="116.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b0ac0a80026548592b87ee8d14b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="20" layerID="1" created="1479309923134" x="658.40515"
y="543.1349" width="218.1756" height="10.731995"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b11c0a80026548592b89f9e9272</URIString>
<point1 x="876.08075" y="553.3669"/>
<point2 x="658.90515" y="543.6349"/>
<ID1 xsi:type="node">13</ID1>
<ID2 xsi:type="node">19</ID2>
</child>
<child ID="21" label="Specification" layerID="1"
created="1479309923917" x="551.625" y="677.8775" width="94.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b12c0a80026548592b83be06baa</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="22" layerID="1" created="1479309923919" x="625.085"
y="566.0457" width="261.99976" height="112.33179"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b13c0a80026548592b8f03d2a45</URIString>
<point1 x="886.5848" y="566.5457"/>
<point2 x="625.585" y="677.8775"/>
<ID1 xsi:type="node">13</ID1>
<ID2 xsi:type="node">21</ID2>
</child>
<child ID="23" label="Coloring" layerID="1" created="1479309940842"
x="1278.5449" y="66.30307" width="65.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b14c0a80026548592b8bc35fbb9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="24" layerID="1" created="1479309940844" x="1313.3948"
y="88.80322" width="80.30017" height="321.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b14c0a80026548592b87410806e</URIString>
<point1 x="1393.1951" y="409.30322"/>
<point2 x="1313.8949" y="89.30322"/>
<ID1 xsi:type="node">15</ID1>
<ID2 xsi:type="node">23</ID2>
</child>
<child ID="25" label="Coalesce nodes which are equal?" layerID="1"
created="1479310031080" x="1278.0449" y="1150.303" width="234.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a307c0a80026548592b8c2af76c4</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="26" layerID="1" created="1479310031081" x="1394.5449"
y="956.803" width="1.0" height="193.99994" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a307c0a80026548592b8a04c0bf0</URIString>
<point1 x="1395.0449" y="957.30304"/>
<point2 x="1395.0449" y="1150.303"/>
<ID1 xsi:type="node">11</ID1>
<ID2 xsi:type="node">25</ID2>
</child>
<child ID="27" label="Hash consing" layerID="1"
created="1479310041195" x="1197.1572" y="1236.7637"
width="100.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a308c0a80026548592b8ff6b1596</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="29"
label="= deterministic finite automaton minimization&#xa;(when there are no unordered sets)"
layerID="1" created="1479310064475" x="1142.3567" y="1392.0576"
width="302.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a309c0a80026548592b84e893214</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="33" label="=" layerID="1" created="1479310109124"
x="1388.7559" y="1278.0215" width="22.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a30ac0a80026548592b8ea42a1af</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="34" layerID="1" created="1479310109126" x="1394.9691"
y="1172.8047" width="4.862549" height="105.71484"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a30ac0a80026548592b87117f4c4</URIString>
<point1 x="1395.4691" y="1173.3047"/>
<point2 x="1399.3317" y="1278.0195"/>
<ID1 xsi:type="node">25</ID1>
<ID2 xsi:type="node">33</ID2>
</child>
<child ID="35" layerID="1" created="1479310112683" x="1309.4902"
y="1297.833" width="83.05139" height="94.72461"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a30bc0a80026548592b83098fe4a</URIString>
<point1 x="1392.0416" y="1298.333"/>
<point2 x="1309.9902" y="1392.0576"/>
<ID1 xsi:type="node">33</ID1>
<ID2 xsi:type="node">29</ID2>
</child>
<child ID="36"
label="= nondeterministic finite automaton minimization&#xa;(when there are unordered sets)"
layerID="1" created="1479310130202" x="1468.7128" y="1390.0991"
width="327.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a30bc0a80026548592b8e12add9f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="37" layerID="1" created="1479310130203" x="1409.4954"
y="1294.2886" width="186.28186" height="96.310425"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc1a30cc0a80026548592b879e5ac96</URIString>
<point1 x="1409.9952" y="1294.7887"/>
<point2 x="1595.2771" y="1390.0991"/>
<ID1 xsi:type="node">33</ID1>
<ID2 xsi:type="node">36</ID2>
</child>
<child ID="42"
label="Cache all calls to equal? and equal-hash-code and equal-secondary-hash-code while grouping nodes"
layerID="1" created="1479310644302" x="1518.7698" y="1259.8262"
width="681.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dc99799c0a80026548592b87d2d4299</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="44"
label="Allows fast comparison of nodes within the same graph"
layerID="1" created="1479310691911" x="1558.634" y="1206.3013"
width="373.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dcae10dc0a80026548592b847b6398e</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="68" label="Type policy" layerID="1"
created="1479311229819" x="76.39288" y="224.19116" width="82.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd2c0a80026548592b8d3f60760</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="90" label="Macro policy" layerID="1"
created="1479311433081" x="-708.9739" y="-78.299225"
width="92.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd4c0a80026548592b8697d13c4</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="103" label="/!\ May interfere with each other"
layerID="1" created="1479311599825" x="-744.9689" y="-214.25525"
width="221.0" height="23.0" strokeWidth="3.0" autoSized="true" xsi:type="node">
<fillColor>#FEFEC9</fillColor>
<strokeColor>#EA2218</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd5c0a80026548592b8ddb5b6c7</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="105" label="May alter a mapping's inputs" layerID="1"
created="1479311627089" x="-453.56888" y="-124.67706"
width="198.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b853276e56</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="106" layerID="1" created="1479311627089" x="-619.121"
y="-102.17706" width="188.57895" height="29.208061"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b89262c338</URIString>
<point1 x="-618.621" y="-73.469"/>
<point2 x="-431.04202" y="-101.67706"/>
<ID1 xsi:type="node">90</ID1>
<ID2 xsi:type="node">105</ID2>
</child>
<child ID="107"
label="May wrap or check or alter a mapping's outputs"
layerID="1" created="1479311633861" x="-541.1206" y="-72.143234"
width="322.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b8c817c8d9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="108" layerID="1" created="1479311633863" x="-617.4739"
y="-66.298096" width="77.25604" height="2.6596298"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dd89bd6c0a80026548592b88ac312bd</URIString>
<point1 x="-616.9739" y="-65.79809"/>
<point2 x="-540.71783" y="-64.13846"/>
<ID1 xsi:type="node">90</ID1>
<ID2 xsi:type="node">107</ID2>
</child>
<child ID="109" label="Wrap with ann" layerID="1"
created="1479311725257" x="-139.36258" y="-92.783356"
width="102.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8416c8f4f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="110" layerID="1" created="1479311725259" x="-226.62152"
y="-78.2051" width="88.17851" height="7.1673584"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8d9e1112c</URIString>
<point1 x="-226.1215" y="-71.53774"/>
<point2 x="-138.943" y="-77.7051"/>
<ID1 xsi:type="node">107</ID1>
<ID2 xsi:type="node">109</ID2>
</child>
<child ID="134" label="Enforcement on the transform or creation"
layerID="1" created="1479312135902" x="194.57953" y="695.1646"
width="284.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b83703e1b4</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="135" label=" " layerID="1" created="1479312135902"
x="68.89288" y="695.1646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b885daa51d</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="136" label=" " layerID="1" created="1479312135902"
x="-51.92047" y="695.1646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b88d7a52cf</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="137" label=" " layerID="1" created="1479312135902"
x="-178.92047" y="695.1646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b8fe262430</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="138" label=" " layerID="1" created="1479312135902"
x="-329.92047" y="694.3646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44031c0a80026548592b8ba0f1bbc</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="139" label=" " layerID="1" created="1479312135902"
x="-493.5517" y="695.96466" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8ce56fcb8</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="140" label=" " layerID="1" created="1479312135902"
x="-862.1742" y="697.5647" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b84c0668a9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="142" label=" " layerID="1" created="1479312150155"
x="-993.41174" y="697.5647" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b844ae0a4b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="143" label="Invariants on the graph / node" layerID="1"
created="1479312150155" x="194.57953" y="656.1646" width="210.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8746d8906</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="144" label=" " layerID="1" created="1479312150155"
x="68.89288" y="656.1646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8eab64176</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="145" label=" " layerID="1" created="1479312150155"
x="-51.92047" y="656.1646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8e2b0179a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="146" label=" " layerID="1" created="1479312150155"
x="-178.92047" y="656.1646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8f1e9514a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="147" label=" " layerID="1" created="1479312150155"
x="-329.92047" y="655.3646" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44032c0a80026548592b8726ffcc1</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="148" label=" " layerID="1" created="1479312150155"
x="-493.5517" y="656.96466" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8ff3e3904</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="150" label=" " layerID="1" created="1479312155692"
x="-862.1742" y="658.5647" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8e43cd085</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="151" label=" " layerID="1" created="1479312155692"
x="-993.41174" y="658.5647" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b80a95f30b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="152" label="Compile-time" layerID="1"
created="1479312155692" x="194.57953" y="588.27094" width="97.0"
height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8a738f623</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="153" label=" " layerID="1" created="1479312155692"
x="68.89288" y="588.27094" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b840e9de75</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="154" label=" " layerID="1" created="1479312155692"
x="-51.92047" y="588.27094" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b869523b7f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="155" label=" " layerID="1" created="1479312155692"
x="-178.92047" y="588.27094" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b80ecff1d4</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="156" label=" " layerID="1" created="1479312155692"
x="-329.92047" y="587.47095" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8868c3bd4</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="158" label=" " layerID="1" created="1479312155692"
x="-493.5517" y="589.071" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b8f1f2c034</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="159" label=" " layerID="1" created="1479312155692"
x="-862.1742" y="590.671" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44033c0a80026548592b81f88086b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="160" label=" " layerID="1" created="1479312155692"
x="-993.41174" y="590.671" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8a06db952</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="161" label="Run-time" layerID="1" created="1479312155692"
x="194.57953" y="549.27106" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b84247db44</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="162" label=" " layerID="1" created="1479312155692"
x="68.89288" y="549.27106" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b80183cc60</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="163" label=" " layerID="1" created="1479312155692"
x="-51.92047" y="549.27106" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8a53213f5</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="164" label=" " layerID="1" created="1479312155692"
x="-178.92047" y="549.27106" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b88fe1f15c</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="166" label=" " layerID="1" created="1479312165108"
x="-329.92047" y="548.47107" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b804a1a9ba</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="167" label=" " layerID="1" created="1479312165108"
x="-493.5517" y="550.0711" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8ad21ad51</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="168" label=" " layerID="1" created="1479312165108"
x="-862.1742" y="551.67114" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44034c0a80026548592b8f7cab75e</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="169" label=" " layerID="1" created="1479312165108"
x="-993.41174" y="551.67114" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b824a5ea38</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="170" label="Transformation" layerID="1"
created="1479312165108" x="194.57953" y="475.32404"
width="139.0" height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8fcd64fad</URIString>
<child ID="52" label="Like ->i" created="1479310857171" x="34.0"
y="23.0" width="59.0" height="23.0" strokeWidth="1.0"
autoSized="true" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dcc935cc0a80026548592b89128dae1</URIString>
<shape xsi:type="rectangle"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="171" label=" " layerID="1" created="1479312165108"
x="68.89288" y="475.32404" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8414a595b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="172" label=" " layerID="1" created="1479312165108"
x="-51.92047" y="475.32404" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b8e07930e9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="174" label=" " layerID="1" created="1479312165108"
x="-178.92047" y="475.32404" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b861833437</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="175" label=" " layerID="1" created="1479312165108"
x="-329.92047" y="474.52405" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b82804bc71</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="176" label=" " layerID="1" created="1479312165108"
x="-493.5517" y="476.12408" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b80db43a99</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="177" label=" " layerID="1" created="1479312165108"
x="-862.1742" y="477.72412" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44035c0a80026548592b86a9bcf32</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="178" label=" " layerID="1" created="1479312165108"
x="-993.41174" y="477.72412" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b82c6a1147</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="179" label="Output" layerID="1" created="1479312165108"
x="194.57953" y="436.72406" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b88c7132d7</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="180" label=" " layerID="1" created="1479312165108"
x="68.89288" y="436.72406" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b82856a3fe</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="182" label=" " layerID="1" created="1479312165108"
x="-51.92047" y="436.72406" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8125e3add</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="183" label=" " layerID="1" created="1479312165108"
x="-178.92047" y="436.72406" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8242976ae</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="184" label=" " layerID="1" created="1479312165108"
x="-329.92047" y="435.92407" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8700f0c58</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="185" label=" " layerID="1" created="1479312165108"
x="-493.5517" y="437.5241" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b888f9f0fc</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="186" label=" " layerID="1" created="1479312165108"
x="-862.1742" y="439.12415" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b829d22ddb</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="187" label=" " layerID="1" created="1479312165108"
x="-993.41174" y="439.12415" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8fb44d733</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="188" label="Input" layerID="1" created="1479312165108"
x="194.57953" y="397.724" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44036c0a80026548592b8010e8b83</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="190" label=" " layerID="1" created="1479312165108"
x="68.89288" y="397.724" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8b07192d1</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="191" label=" " layerID="1" created="1479312165108"
x="-51.92047" y="397.724" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b85d8d2676</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="192" label=" " layerID="1" created="1479312165108"
x="-178.92047" y="397.724" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b818309ef9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="193" label=" " layerID="1" created="1479312165108"
x="-329.92047" y="396.924" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8ce547432</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="194" label=" " layerID="1" created="1479312165108"
x="-493.5517" y="398.52405" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8808f7487</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="195" label=" " layerID="1" created="1479312165108"
x="-862.1742" y="400.12408" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8f5b31808</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="196" label=" " layerID="1" created="1479312165108"
x="-993.41174" y="400.12408" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6de44037c0a80026548592b8b71cf339</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="211" label="No cycles in &#x3c4;" layerID="1"
created="1479312437302" x="67.89288" y="359.19955" width="99.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c15c0a80026548592b8b3165e14</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="212" label="Nouveau N&#x153;ud" layerID="1"
created="1479312437302" x="-59.42047" y="359.19955"
width="112.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8a5a2565a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="213" label="Nouveau N&#x153;ud" layerID="1"
created="1479312437302" x="-186.42047" y="359.19955"
width="112.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b82772e2e6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="214" label="no excess / missing&#xa;nodes" layerID="1"
created="1479312437302" x="-346.02045" y="341.59958"
width="139.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b844d9ed3a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="215" label="Structural invariant" layerID="1"
created="1479312437302" x="-526.0517" y="273.2496" width="162.0"
height="107.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8c110cac6</URIString>
<child ID="248" label="No cycles (a.** != a)"
created="1479315054444" x="34.0" y="23.0" width="145.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e0db15543a6be970d2ffe259c8e4183</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="249" label="a.b.c = a" created="1479315069014"
x="34.0" y="43.25" width="112.78567" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e0db15643a6be970d2ffe25e7c11d51</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="256" label="a &#x2208; a.b.c" created="1479315479126"
x="34.0" y="63.5" width="112.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e13f9e943a6be970d2ffe25a12d6061</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="537" label="a.c = count(a.b)" created="1483131981450"
x="34.0" y="83.75" width="118.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/518eb6ce534430712734d86a5ed52578</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="216" label="Fill in auto fields" layerID="1"
created="1479312437302" x="-885.6742" y="318.0996" width="144.0"
height="66.5" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b84cf1af9a</URIString>
<child ID="115" label="count(path)" created="1479311769963"
x="34.0" y="23.0" width="88.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dda878fc0a80026548592b8d8c09cc8</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="113" label="path" created="1479311761209" x="34.0"
y="43.25" width="41.0" height="23.0" strokeWidth="1.0"
autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dda878ec0a80026548592b8a59d8be9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="217" label="Field types" layerID="1"
created="1479312437302" x="-985.41174" y="361.5996" width="81.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6deb6c16c0a80026548592b8ef57e7b6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="220" layerID="1" created="1479312977113" x="291.07953"
y="408.3908" width="278.54547" height="1.2836304"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b8679982c0</URIString>
<point1 x="569.125" y="408.8908"/>
<point2 x="291.57953" y="409.17444"/>
<ID1 xsi:type="node">17</ID1>
<ID2 xsi:type="node">188</ID2>
</child>
<child ID="221" layerID="1" created="1479312980477" x="290.3051"
y="411.24005" width="279.59766" height="32.148132"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b8c719c5c2</URIString>
<point1 x="569.4028" y="411.74005"/>
<point2 x="290.8051" y="442.88818"/>
<ID1 xsi:type="node">17</ID1>
<ID2 xsi:type="node">179</ID2>
</child>
<child ID="222" layerID="1" created="1479312983887" x="331.39423"
y="414.96667" width="239.83237" height="65.63089"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b87ce595a9</URIString>
<point1 x="570.7266" y="415.46667"/>
<point2 x="331.89426" y="480.09756"/>
<ID1 xsi:type="node">17</ID1>
<ID2 xsi:type="node">170</ID2>
</child>
<child ID="223" layerID="1" created="1479312987068" x="290.84552"
y="543.7224" width="253.11792" height="14.889587"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b83272ecb3</URIString>
<point1 x="543.46344" y="544.2224"/>
<point2 x="291.34552" y="558.112"/>
<ID1 xsi:type="node">19</ID1>
<ID2 xsi:type="node">161</ID2>
</child>
<child ID="224" layerID="1" created="1479312989934" x="288.8164"
y="549.4879" width="258.2881" height="43.1994" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bec0a80026548592b847abd123</URIString>
<point1 x="546.6045" y="549.988"/>
<point2 x="289.3164" y="592.1874"/>
<ID1 xsi:type="node">19</ID1>
<ID2 xsi:type="node">152</ID2>
</child>
<child ID="225" layerID="1" created="1479312993421" x="401.89612"
y="674.6299" width="150.60938" height="11.862732"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b82421558c</URIString>
<point1 x="552.0055" y="685.9926"/>
<point2 x="402.39612" y="675.1299"/>
<ID1 xsi:type="node">21</ID1>
<ID2 xsi:type="node">143</ID2>
</child>
<child ID="226" layerID="1" created="1479312996582" x="474.3354"
y="691.95703" width="78.10855" height="6.086853"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b890a669f0</URIString>
<point1 x="551.9439" y="692.45703"/>
<point2 x="474.83536" y="697.5439"/>
<ID1 xsi:type="node">21</ID1>
<ID2 xsi:type="node">134</ID2>
</child>
<child ID="227" layerID="1" created="1479313097960" x="116.89288"
y="246.69118" width="1.0" height="113.00839" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>Arial-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df4a0bfc0a80026548592b8ab3caf16</URIString>
<point1 x="117.39288" y="247.19116"/>
<point2 x="117.39288" y="359.19955"/>
<ID1 xsi:type="node">68</ID1>
<ID2 xsi:type="node">211</ID2>
</child>
<child ID="229" label="Field types" layerID="1"
created="1479313578633" x="-985.41174" y="296.00214"
width="81.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df83301c0a80026548592b8cadb0885</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="230" layerID="1" created="1479313589139" x="-945.41174"
y="318.50214" width="1.0" height="43.597473" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6df83301c0a80026548592b86616b05c</URIString>
<point1 x="-944.91174" y="319.00214"/>
<point2 x="-944.91174" y="361.5996"/>
<ID1 xsi:type="node">229</ID1>
<ID2 xsi:type="node">217</ID2>
</child>
<child ID="231" label="Fill in info" layerID="1"
created="1479314065342" x="-107.36258" y="-69.78337"
width="70.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8f9159d49</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="232" layerID="1" created="1479314065343" x="-219.6206"
y="-59.9087" width="112.758026" height="1.8569527"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b838839b4e</URIString>
<point1 x="-219.1206" y="-59.4087"/>
<point2 x="-107.36258" y="-58.551746"/>
<ID1 xsi:type="node">107</ID1>
<ID2 xsi:type="node">231</ID2>
</child>
<child ID="233" label="Insert guards" layerID="1"
created="1479314071070" x="-136.36258" y="-46.7834" width="99.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8fe58d8d6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="234" layerID="1" created="1479314071071" x="-247.636"
y="-49.643234" width="112.325165" height="10.626976"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dfdd7b2c0a80026548592b8472714c9</URIString>
<point1 x="-247.136" y="-49.143234"/>
<point2 x="-135.81084" y="-39.51626"/>
<ID1 xsi:type="node">107</ID1>
<ID2 xsi:type="node">233</ID2>
</child>
<child ID="239"
label="Name the invariants in the type, and refer to them in the transform"
layerID="1" created="1479314146769" x="401.0136" y="789.73596"
width="446.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dff35b5c0a80026548592b8604b935b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="240" layerID="1" created="1479314146770" x="600.7352"
y="700.37744" width="21.168274" height="89.8584"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dff35b5c0a80026548592b8b8ea0a14</URIString>
<point1 x="601.23517" y="700.87744"/>
<point2 x="621.40344" y="789.73584"/>
<ID1 xsi:type="node">21</ID1>
<ID2 xsi:type="node">239</ID2>
</child>
<child ID="241" label="Basic form&#xa;already implemented"
layerID="1" created="1479314878724" x="1224.5375" y="997.7446"
width="146.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e09fb5843a6be970d2ffe2507ab588a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="242" layerID="1" created="1479314878728" x="1323.1526"
y="956.8031" width="56.585815" height="41.441467"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e09fb5a43a6be970d2ffe25101bab58</URIString>
<point1 x="1379.2384" y="957.3031"/>
<point2 x="1323.6526" y="997.74457"/>
<ID1 xsi:type="node">11</ID1>
<ID2 xsi:type="node">241</ID2>
</child>
<child ID="244" label="&#x3b1;-equivalence normal form" layerID="1"
created="1479314913291" x="1434.1376" y="1005.7449"
width="184.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e0b664b43a6be970d2ffe25608d7f84</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="245" layerID="1" created="1479314913294" x="1415.6469"
y="956.803" width="89.88867" height="49.441833"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e0b664b43a6be970d2ffe252aafd35e</URIString>
<point1 x="1416.1469" y="957.30304"/>
<point2 x="1505.0355" y="1005.7449"/>
<ID1 xsi:type="node">11</ID1>
<ID2 xsi:type="node">244</ID2>
</child>
<child ID="246" label="Too hard to implement for now" layerID="1"
created="1479314956001" x="1563.3375" y="1093.5447"
width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e0b664c43a6be970d2ffe253b42a8fa</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="247" layerID="1" created="1479314956003" x="1544.263"
y="1028.2449" width="105.94922" height="65.799805"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e0b664c43a6be970d2ffe25426d76fa</URIString>
<point1 x="1544.763" y="1028.7449"/>
<point2 x="1649.7122" y="1093.5447"/>
<ID1 xsi:type="node">244</ID1>
<ID2 xsi:type="node">246</ID2>
</child>
<child ID="252"
label="http://docs.racket-lang.org/graph/index.html#%28def._%28%28lib._graph%2Fmain..rkt%29._coloring%2Fgreedy%29%29"
layerID="1" created="1479315385244" x="436.13745" y="60.144775"
width="784.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e12548843a6be970d2ffe259bb5e939</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="253" layerID="1" created="1479315385245" x="1218.9329"
y="76.13478" width="60.11206" height="1.75383" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e12548843a6be970d2ffe25f25ed174</URIString>
<point1 x="1278.5449" y="77.38861"/>
<point2 x="1219.4329" y="76.63478"/>
<ID1 xsi:type="node">23</ID1>
<ID2 xsi:type="node">252</ID2>
</child>
<child ID="257" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="696.5272" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25f6c630d7</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="258" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="657.5272" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe259db0c3ce</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="259" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="589.63354" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25e603c10f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="260" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="550.63367" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe25580295ca</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="261" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="476.68677" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7df43a6be970d2ffe250d1629cb</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="262" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="438.0868" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25e477a71a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="263" label=" " layerID="1" created="1479315626294"
x="-689.56244" y="399.08667" width="97.0" height="23.0"
strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFFFFF</fillColor>
<strokeColor>#D0D0D0</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25b3ec0015</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="264"
label="Well-scopedness&#xa;via &#x2200; flag on the inputs"
layerID="1" created="1479315626294" x="-716.26245" y="343.76224"
width="161.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#000000</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25522374c0</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="269" label="enforces" layerID="1" created="1479315766762"
x="-602.6625" y="154.14484" width="70.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25045c93ba</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="270" layerID="1" created="1479315766763" x="-770.12634"
y="176.64484" width="187.72931" height="141.95477"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25f58b5507</URIString>
<point1 x="-769.6264" y="318.0996"/>
<point2 x="-582.8971" y="177.14484"/>
<ID1 xsi:type="node">216</ID1>
<ID2 xsi:type="node">269</ID2>
</child>
<child ID="273" layerID="1" created="1479315784203" x="-559.4103"
y="176.64484" width="74.141754" height="97.1048"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25213bebda</URIString>
<point1 x="-558.9103" y="177.14484"/>
<point2 x="-485.76852" y="273.24963"/>
<ID1 xsi:type="node">269</ID1>
<ID2 xsi:type="node">215</ID2>
</child>
<child ID="275" layerID="1" created="1479315857711" x="-629.69836"
y="176.6449" width="58.562866" height="167.61731"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e18c7e043a6be970d2ffe25b2914e66</URIString>
<point1 x="-629.19836" y="343.7622"/>
<point2 x="-571.6355" y="177.1449"/>
<ID1 xsi:type="node">264</ID1>
<ID2 xsi:type="node">269</ID2>
</child>
<child ID="278" label="Compile-time policy" layerID="1"
created="1479316015544" x="-834.6625" y="38.944725"
width="134.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25714e5bc9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="279" layerID="1" created="1479316015546" x="-757.89404"
y="-55.799194" width="85.15155" height="95.2439"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25ca3da090</URIString>
<point1 x="-673.24243" y="-55.299194"/>
<point2 x="-757.394" y="38.944702"/>
<ID1 xsi:type="node">90</ID1>
<ID2 xsi:type="node">278</ID2>
</child>
<child ID="280" label="Run-time check" layerID="1"
created="1479316019912" x="-495.4625" y="37.344727"
width="110.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25751b3e9d</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="281" layerID="1" created="1479316019914" x="-641.3467"
y="-55.799225" width="179.25693" height="93.64395"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25264e9ee1</URIString>
<point1 x="-640.8467" y="-55.299225"/>
<point2 x="-462.58975" y="37.344727"/>
<ID1 xsi:type="node">90</ID1>
<ID2 xsi:type="node">280</ID2>
</child>
<child ID="284" layerID="1" created="1479316050351" x="-809.0899"
y="61.444824" width="40.168945" height="257.1548"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe25391232ea</URIString>
<point1 x="-769.42096" y="61.944824"/>
<point2 x="-808.5899" y="318.0996"/>
<ID1 xsi:type="node">278</ID1>
<ID2 xsi:type="node">216</ID2>
</child>
<child ID="285" layerID="1" created="1479316052183" x="-763.3057"
y="61.444702" width="120.01904" height="282.8175"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe253e59616a</URIString>
<point1 x="-762.8057" y="61.944702"/>
<point2 x="-643.7867" y="343.7622"/>
<ID1 xsi:type="node">278</ID1>
<ID2 xsi:type="node">264</ID2>
</child>
<child ID="286" layerID="1" created="1479316060242" x="-444.6682"
y="59.84375" width="4.5158997" height="213.90625"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c643a6be970d2ffe2578e91de4</URIString>
<point1 x="-440.65234" y="60.34375"/>
<point2 x="-444.16824" y="273.25"/>
<ID1 xsi:type="node">280</ID1>
<ID2 xsi:type="node">215</ID2>
</child>
<child ID="289" layerID="1" created="1479316096459" x="-434.91504"
y="59.844727" width="148.90305" height="282.25482"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1c69c743a6be970d2ffe258016a9d1</URIString>
<point1 x="-434.415" y="60.344727"/>
<point2 x="-286.51196" y="341.59955"/>
<ID1 xsi:type="node">280</ID1>
<ID2 xsi:type="node">214</ID2>
</child>
<child ID="291"
label="Invariants expressed as a dummy type on the graph / node"
layerID="1" created="1479316157024" x="-663.86255" y="868.74475"
width="396.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1dc69443a6be970d2ffe25c307cfac</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="293"
label="Enforcements indicate which invariant they satisfy or check"
layerID="1" created="1479316213134" x="3.1374512" y="1054.7448"
width="395.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e1fb64c43a6be970d2ffe25894f7080</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="295" label=" " layerID="1" created="1479316329322"
x="175.13745" y="656.74475" width="15.0" height="23.0"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e218e1c43a6be970d2ffe25c3d8bcae</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="296" layerID="1" created="1479316329323" x="189.63745"
y="667.68555" width="5.4420776" height="1.0220337"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e218e1d43a6be970d2ffe253b54752d</URIString>
<point1 x="194.57953" y="668.18555"/>
<point2 x="190.13745" y="668.2076"/>
<ID1 xsi:type="node">143</ID1>
<ID2 xsi:type="node">295</ID2>
</child>
<child ID="314"
label="Each node has an extra field of the following type:&#xa;"
layerID="1" created="1479317112254" x="-826.86255" y="972.24475"
width="339.0" height="107.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e2c94fe43a6be970d2ffe25ab2d9e8d</URIString>
<child ID="313"
label="(invariants-wrapper (case (&#x2192; inv&#x2081; inv-arg &#x2026; #t) &#x2026; (&#x2192; inv&#x2099; inv-arg &#x2026; #t)))"
created="1479317031021" x="5.0" y="38.0" width="276.0"
height="63.0" strokeWidth="0.0" autoSized="false" xsi:type="text">
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-14</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e2c950143a6be970d2ffe25c8aa5ef1</URIString>
<richText>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
&lt;!--
body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 }
ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside }
p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 }
ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif }
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;
&lt;font face="DejaVu Sans Mono"&gt;(invariants-wrapper &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="DejaVu Sans Mono"&gt;(case (&amp;#8594; inv&amp;#8321; inv-arg &amp;#8230; #t) &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="DejaVu Sans Mono"&gt;&amp;#8230; &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="DejaVu Sans Mono"&gt;(&amp;#8594; inv&amp;#8345; inv-arg &amp;#8230; #t)))&lt;/font&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</richText>
<label>(invariants-wrapper (case (&#x2192; inv&#x2081; inv-arg &#x2026; #t) &#x2026; (&#x2192; inv&#x2099; inv-arg &#x2026; #t)))</label>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="315" layerID="1" created="1479317179397" x="-587.4485"
y="891.24475" width="106.950165" height="81.5" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe2565dbc3a9</URIString>
<point1 x="-480.99832" y="891.74475"/>
<point2 x="-586.9485" y="972.24475"/>
<ID1 xsi:type="node">291</ID1>
<ID2 xsi:type="node">314</ID2>
</child>
<child ID="318"
label="Use a private struct to prevent forging of the invariants aggregated in a case&#x2192;&#xa;(since it is never executed, any non-terminating &#x3bb; could otherwise be supplied).&#xa;"
layerID="1" created="1479317202233" x="-960.86255" y="1145.7448"
width="531.0" height="77.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe2541159360</URIString>
<child ID="324"
label="(struct &#xa; invariants-wrapper ())"
created="1479317283315" x="5.0" y="53.0" width="214.0"
height="18.0" strokeWidth="0.0" autoSized="false" xsi:type="text">
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe254bc731a8</URIString>
<richText>&lt;html&gt;
&lt;head color="#000000" style="color: #000000"&gt;
&lt;style type="text/css"&gt;
&lt;!--
body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 11; font-family: SansSerif; color: #000000 }
ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 11; list-style-position: outside }
p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 }
ul { margin-top: 6; font-size: 11; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif }
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;
&lt;font style="font-size:12;" color="#000000" face="DejaVu Sans Mono"&gt;(struct
invariants-wrapper ())&lt;/font&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</richText>
<label>(struct
invariants-wrapper ())</label>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="319" layerID="1" created="1479317202235" x="-686.63226"
y="1078.7448" width="16.943237" height="67.5" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e309f2643a6be970d2ffe25415de0b8</URIString>
<point1 x="-670.189" y="1079.2448"/>
<point2 x="-686.13226" y="1145.7448"/>
<ID1 xsi:type="node">314</ID1>
<ID2 xsi:type="node">318</ID2>
</child>
<child ID="326"
label="graph invariants should only define the dummy type used to identify them"
layerID="1" created="1479317586757" x="-968.86255" y="1282.7448"
width="611.0" height="172.25" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e380d1843a6be970d2ffe256d1f3a53</URIString>
<child ID="328"
label="The actual enforcement is built-in or defined as a contract"
created="1479317923153" x="34.0" y="23.0" width="394.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e38dc3343a6be970d2ffe25548c6fd1</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="325"
label="(define-for-syntax invariant-introducer (make-syntax-introducer)) ;; the body should return the syntax for a &#xa; type, ;; such that less precise invariants are supertypes of that type. (define-syntax/parse (define-graph-invariant (name g-descriptor arg &#x2026;) . body) #'(define-syntax name (graph-invariant (&#x3bb; (g-descriptor arg &#x2026;) . body))))"
created="1479317551796" x="34.0" y="43.25" width="572.0"
height="123.0" strokeWidth="0.0" autoSized="false" xsi:type="text">
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-14</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e380d1843a6be970d2ffe2537b566f6</URIString>
<richText>&lt;html&gt;
&lt;head color="#000000" style="color: #000000"&gt;
&lt;style type="text/css"&gt;
&lt;!--
body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 }
ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside }
p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 }
ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif }
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(define-for-syntax invariant-introducer &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(make-syntax-introducer)) &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;;; the body should return the syntax for a
type, &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;;; such that less precise invariants are
supertypes of that type. &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(define-syntax/parse
(define-graph-invariant (name g-descriptor arg &amp;#8230;) . body) &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;#'(define-syntax name &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(graph-invariant &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(&amp;#955; (g-descriptor arg &amp;#8230;) . body))))&lt;/font&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</richText>
<label>(define-for-syntax invariant-introducer (make-syntax-introducer)) ;; the body should return the syntax for a
type, ;; such that less precise invariants are supertypes of that type. (define-syntax/parse (define-graph-invariant (name g-descriptor arg &#x2026;) . body) #'(define-syntax name (graph-invariant (&#x3bb; (g-descriptor arg &#x2026;) . body))))</label>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="327" layerID="1" created="1479317586758" x="-689.1896"
y="1222.2446" width="11.399414" height="61.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e380d1943a6be970d2ffe25baaa9b00</URIString>
<point1 x="-688.6896" y="1222.7446"/>
<point2 x="-678.29016" y="1282.7446"/>
<ID1 xsi:type="node">318</ID1>
<ID2 xsi:type="node">326</ID2>
</child>
<child ID="332"
label="The returned type may contain symbols, to indicate node names and field names,&#xa;and will contain a reference to a private struct type, so that&#xa;two invariants with the same name defined in separate won't conflict"
layerID="1" created="1479317996531" x="-1558.8625" y="1375.2448"
width="543.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e3ba69443a6be970d2ffe2557b43407</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="333" layerID="1" created="1479318002683" x="-1016.36255"
y="1393.3777" width="82.0" height="2.8078613" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e3ba69443a6be970d2ffe25f3986e24</URIString>
<point1 x="-934.86255" y="1393.8777"/>
<point2 x="-1015.86255" y="1395.6855"/>
<ID1 xsi:type="text">325</ID1>
<ID2 xsi:type="node">332</ID2>
</child>
<child ID="335"
label="Possibility to define a contract, which checks the output"
layerID="1" created="1479323690314" x="-287.0293" y="1256.2448"
width="602.0" height="158.25" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e9111d2c0a80026616d9239e83b633f</URIString>
<child ID="337"
label="The body should produce a function of type (&#x2192; (Listof Node&#x1d62;) &#x2026; Boolean)"
created="1479323705555" x="34.0" y="23.0" width="488.0"
height="26.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e9111d3c0a80026616d923930b32673</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="341"
label="The body should also return the syntax for the graph invariant dummy types that it enforces"
created="1479323869262" x="34.0" y="45.5" width="610.0"
height="25.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e9407e3c0a80026616d9239a5640863</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="334"
label="(define-syntax/parse (define-graph-contract (name g-descriptor arg &#x2026;) . &#xa; body) #'(define-syntax name (graph-contract (&#x3bb; (g-descriptor arg &#x2026;) . body))))"
created="1479323593315" x="34.0" y="67.25" width="563.0"
height="85.0" strokeWidth="0.0" autoSized="false" xsi:type="text">
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e8fd854c0a80026616d9239752cb6ef</URIString>
<richText>&lt;html&gt;
&lt;head color="#000000" style="color: #000000"&gt;
&lt;style type="text/css"&gt;
&lt;!--
body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 13; font-family: Arial; color: #000000 }
ol { margin-top: 6; font-family: Arial; vertical-align: middle; margin-left: 30; font-size: 13; list-style-position: outside }
p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 }
ul { margin-top: 6; font-size: 13; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: Arial }
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font style="font-size:12;" face="DejaVu Sans Mono"&gt;(define-syntax/parse
(define-graph-contract (name g-descriptor arg &amp;#8230;) . body) &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font style="font-size:12;" face="DejaVu Sans Mono"&gt;#'(define-syntax
name &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font style="font-size:12;" face="DejaVu Sans Mono"&gt;(graph-contract &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font style="font-size:12;" face="DejaVu Sans Mono"&gt;(&amp;#955; (g-descriptor arg
&amp;#8230;) . body)))) &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</richText>
<label>(define-syntax/parse (define-graph-contract (name g-descriptor arg &#x2026;) .
body) #'(define-syntax name (graph-contract (&#x3bb; (g-descriptor arg &#x2026;) . body))))</label>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="339" layerID="1" created="1479323727259" x="68.35225"
y="1077.2448" width="124.80871" height="179.5" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e9111d4c0a80026616d9239034cd2a4</URIString>
<point1 x="192.66096" y="1077.7448"/>
<point2 x="68.85226" y="1256.2448"/>
<ID1 xsi:type="node">293</ID1>
<ID2 xsi:type="node">335</ID2>
</child>
<child ID="340" layerID="1" created="1479323738615" x="-640.4145"
y="1317.7285" width="353.8852" height="10.250732"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6e9111d4c0a80026616d92391e592054</URIString>
<point1 x="-639.9145" y="1318.2285"/>
<point2 x="-287.0293" y="1327.4792"/>
<ID1 xsi:type="node">328</ID1>
<ID2 xsi:type="node">335</ID2>
</child>
<child ID="342"
label="Define a wrapper, which may alter the input value and input types, and the output value and output types"
layerID="1" created="1479326681064" x="347.9707" y="1262.2448"
width="726.0" height="202.25" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ec139a9c0a80026616d923967bf1cb6</URIString>
<child ID="346"
label="The body should return one transformer function per node type, plus one more transformer function."
created="1479328512808" x="34.0" y="23.0" width="830.6667"
height="25.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ee8e020c0a80026616d9239a263353a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="348"
label="The transformer functions have the following type:"
created="1479328987933" x="34.0" y="44.75" width="339.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d9239ad712d82</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="352"
label="(-> syntax? (listof syntax?) (values &#xa; boolean? syntax?))"
created="1479329393216" x="34.0" y="65.0" width="460.0"
height="18.0" strokeWidth="0.0" autoSized="false" xsi:type="text">
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>DejaVu Sans Mono-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d92391acf1941</URIString>
<richText>&lt;html&gt;
&lt;head color="#000000" style="color: #000000"&gt;
&lt;style type="text/css"&gt;
&lt;!--
body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 }
ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside }
p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 }
ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif }
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(-&amp;gt; syntax? (listof syntax?) (values
boolean? syntax?))&lt;/font&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</richText>
<label>(-&gt; syntax? (listof syntax?) (values
boolean? syntax?))</label>
</child>
<child ID="351"
label="where the first argument is the mapping's body, and the second argument is a list of input argument names&#xa;The return values are a boolean indicating if the body was wrapped in some way, and the wrapped (or original) body.&#xa;The last extra function alters the whole graph result (at the level of nodes with placeholders (?)), so that it may inject extra fields"
created="1479329173663" x="34.0" y="86.0" width="858.0"
height="59.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ee8e021c0a80026616d9239b05b1b10</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="344"
label="(define-syntax/parse (define-graph-wrapper (name g-descriptor arg&#x1d62; &#x2026;) . &#xa; body) #'(define-syntax name (graph-wrapper (&#x3bb; (g-descriptor arg&#x1d62; &#x2026;) . body))))"
created="1479326880502" x="34.0" y="133.25" width="575.0"
height="63.0" strokeWidth="0.0" autoSized="false" xsi:type="text">
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-14</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ec139a9c0a80026616d9239a14dd476</URIString>
<richText>&lt;html&gt;
&lt;head color="#000000" style="color: #000000"&gt;
&lt;style type="text/css"&gt;
&lt;!--
body { margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; font-size: 12; font-family: SansSerif; color: #000000 }
ol { margin-top: 6; font-family: SansSerif; vertical-align: middle; margin-left: 30; font-size: 12; list-style-position: outside }
p { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 0; color: #000000 }
ul { margin-top: 6; font-size: 12; margin-left: 30; vertical-align: middle; list-style-position: outside; font-family: SansSerif }
--&gt;
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(define-syntax/parse (define-graph-wrapper
(name g-descriptor arg&amp;#7522; &amp;#8230;) . body) &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;#'(define-syntax name &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(graph-wrapper &lt;/font&gt;
&lt;/p&gt;
&lt;p color="#000000" style="color: #000000"&gt;
&lt;font face="DejaVu Sans Mono"&gt;(&amp;#955; (g-descriptor arg&amp;#7522; &amp;#8230;) . body))))&lt;/font&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</richText>
<label>(define-syntax/parse (define-graph-wrapper (name g-descriptor arg&#x1d62; &#x2026;) .
body) #'(define-syntax name (graph-wrapper (&#x3bb; (g-descriptor arg&#x1d62; &#x2026;) . body))))</label>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="345" layerID="1" created="1479326900002" x="219.88948"
y="1077.2448" width="317.8918" height="185.5" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6ec139aac0a80026616d92397220832f</URIString>
<point1 x="220.3895" y="1077.7448"/>
<point2 x="537.2813" y="1262.2448"/>
<ID1 xsi:type="node">293</ID1>
<ID2 xsi:type="node">342</ID2>
</child>
<child ID="353" label="Garbage collection" layerID="1"
created="1479341039823" x="1477.9707" y="129.74475"
width="136.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d92398f0f2135</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="354" layerID="1" created="1479341039825" x="1401.7124"
y="152.24463" width="138.59094" height="257.55835"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d92393e0bc6fe</URIString>
<point1 x="1402.2124" y="409.30298"/>
<point2 x="1539.8033" y="152.74463"/>
<ID1 xsi:type="node">15</ID1>
<ID2 xsi:type="node">353</ID2>
</child>
<child ID="355" label="Too hard to implement for now" layerID="1"
created="1479341061597" x="1622.9707" y="-37.25525"
width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d9239f16e4b43</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="356" layerID="1" created="1479341061598" x="1558.0037"
y="-14.755249" width="157.93408" height="145.0"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6f9963d1c0a80026616d923937836369</URIString>
<point1 x="1558.5037" y="129.74475"/>
<point2 x="1715.4377" y="-14.255249"/>
<ID1 xsi:type="node">353</ID1>
<ID2 xsi:type="node">355</ID2>
</child>
<child ID="357" label="Row polymorphism" layerID="1"
created="1479345782598" x="1853.9707" y="409.74475"
width="129.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d92392b2a40f2</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="358" layerID="1" created="1479345782600" x="1419.6936"
y="432.24475" width="454.7085" height="118.06995"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d9239f2e33d1e</URIString>
<point1 x="1420.1936" y="549.8147"/>
<point2 x="1873.9021" y="432.74475"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">357</ID2>
</child>
<child ID="359" label="Extending existing graph types" layerID="1"
created="1479345797404" x="1045.9707" y="204.74475"
width="210.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe22188c0a80026616d9239be9c047a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="360" layerID="1" created="1479345797406" x="1158.7649"
y="227.24475" width="229.48596" height="317.8009"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe22189c0a80026616d9239eb7ccf81</URIString>
<point1 x="1387.7509" y="544.54565"/>
<point2 x="1159.2649" y="227.74475"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">359</ID2>
</child>
<child ID="361" label="Define a graph-info structure" layerID="1"
created="1479345850749" x="752.9707" y="171.74475" width="230.0"
height="46.25" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d9239fd7f5890</URIString>
<child ID="365" label="copy from old implementation"
created="1479346259321" x="34.0" y="23.0" width="200.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe8bf99c0a80026616d9239dee715fd</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="362" layerID="1" created="1479345850751" x="982.4707"
y="203.0557" width="66.3761" height="5.937851" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d92393d9d5229</URIString>
<point1 x="1048.3468" y="208.49356"/>
<point2 x="982.9707" y="203.55571"/>
<ID1 xsi:type="node">359</ID1>
<ID2 xsi:type="node">361</ID2>
</child>
<child ID="363"
label="A graph transformation lists its accepted input types, we have to make the code within work with all"
layerID="1" created="1479345855459" x="2831.9707" y="421.74475"
width="660.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d92392fbc03c6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="364" layerID="1" created="1479345855461" x="1982.4707"
y="421.3672" width="850.33936" height="9.196289"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6fe26c5ec0a80026616d9239976c9ae7</URIString>
<point1 x="1982.9707" y="421.8672"/>
<point2 x="2832.31" y="430.06348"/>
<ID1 xsi:type="node">357</ID1>
<ID2 xsi:type="node">363</ID2>
</child>
<child ID="366" label="Define a wrapper syntax with + - &#xb1;"
layerID="1" created="1479346280567" x="744.9707" y="239.74475"
width="266.0" height="67.25" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d923958a3c2b1</URIString>
<child ID="368" label="Fetch the old graph info"
created="1479346367496" x="34.0" y="23.0" width="167.0"
height="24.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239749dd475</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="369" label="Add/remove fields"
created="1479346381443" x="34.0" y="44.0" width="184.0"
height="23.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239715edb34</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="367" layerID="1" created="1479346280569" x="1009.5972"
y="227.24475" width="86.91492" height="18.97763"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239cdd2238d</URIString>
<point1 x="1096.0122" y="227.74475"/>
<point2 x="1010.0973" y="245.72238"/>
<ID1 xsi:type="node">359</ID1>
<ID2 xsi:type="node">366</ID2>
</child>
<child ID="370"
label="What about invariants?&#xa;* Just copy them over syntactically?&#xa;* Require that they are re-specified&#xa;(at least by explicitly copying them by their name)"
layerID="1" created="1479346589797" x="788.9707" y="332.74475"
width="329.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d9239ae9362ed</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="371" layerID="1" created="1479346589799" x="997.58856"
y="227.24475" width="138.79065" height="106.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/6feebb15c0a80026616d92394b902499</URIString>
<point1 x="1135.8793" y="227.74475"/>
<point2 x="998.0886" y="332.74475"/>
<ID1 xsi:type="node">359</ID1>
<ID2 xsi:type="node">370</ID2>
</child>
<child ID="372"
label="Need to make split / with / merge work with nodes,&#xa;or at least make the basic graph transformations work with explicit row polymorphism"
layerID="1" created="1479347912017" x="1595.9707" y="268.74475"
width="565.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7002a307c0a80026616d9239fea067fb</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="373" layerID="1" created="1479347912025" x="1883.6636"
y="306.24463" width="31.861328" height="104.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7002a308c0a80026616d9239fd1b7118</URIString>
<point1 x="1915.0249" y="409.74463"/>
<point2 x="1884.1636" y="306.74463"/>
<ID1 xsi:type="node">357</ID1>
<ID2 xsi:type="node">372</ID2>
</child>
<child ID="376"
label="Provide a &quot;with&quot; form, so that mappings can extend or alter the inputs?"
layerID="1" created="1479385905764" x="3414.6375" y="491.74475"
width="473.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/72463402c0a8002633539faa9129b25a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="377" layerID="1" created="1479385905770" x="3241.834"
y="444.24475" width="329.44043" height="48.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72463402c0a8002633539faadc8678cc</URIString>
<point1 x="3242.334" y="444.74475"/>
<point2 x="3570.7744" y="491.74475"/>
<ID1 xsi:type="node">363</ID1>
<ID2 xsi:type="node">376</ID2>
</child>
<child ID="380" label="Solutions" layerID="1"
created="1479386183958" x="2847.6375" y="551.74475"
width="626.25" height="128.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa8116b929</URIString>
<child ID="378"
label="Solution 1: hide the extra fields in the &quot;raw&quot; field"
created="1479386144228" x="34.0" y="23.0" width="324.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa04884126</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="382"
label="Solution 2: allow the use of split/with/merge, auto-insert a mergefor the + - &#xb1; cases"
created="1479386844095" x="34.0" y="43.25" width="562.0"
height="24.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7254d752c0a8002633539faa3f2cc14b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="383"
label="Solution 3: in the mapping signature, explicitly indicate a row type variable"
created="1479386922237" x="34.0" y="64.25" width="491.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#E6F7FD</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faa375d2f0c</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="374"
label="Partial solution: for mappings which specify a derived type (with + - &#xb1;) for their output, auto-copy the remaining fields?"
created="1479385818415" x="34.0" y="84.5" width="782.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#E6F7FD</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/72463400c0a8002633539faa503d1c44</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="393"
label="Allow limited-field mappings (mappings from n to m fields of a node, keeping the rest intact)"
created="1479387268964" x="34.0" y="104.75" width="604.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#E6F7FD</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faae6c01aeb</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="381" layerID="1" created="1479386183961" x="3160.686"
y="444.21875" width="1.7087402" height="108.03125"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7249df95c0a8002633539faa48b8542b</URIString>
<point1 x="3161.8948" y="444.71875"/>
<point2 x="3161.186" y="551.75"/>
<ID1 xsi:type="node">363</ID1>
<ID2 xsi:type="node">380</ID2>
</child>
<child ID="387"
label="Problem: these operations need to explicitly specify the possible types&#xa;for the auto-insertion, it's okay (we know them statically), but for user code it's a bit too verbose"
layerID="1" created="1479387124402" x="3501.6375" y="581.24475"
width="645.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/725bf583c0a8002633539faa15a27783</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="390" layerID="1" created="1479387136326" x="3302.6375"
y="601.39746" width="199.5" height="2.017212" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/725bf583c0a8002633539faa21ba73d6</URIString>
<point1 x="3303.1375" y="602.9147"/>
<point2 x="3501.6375" y="601.89746"/>
<ID1 xsi:type="node">382</ID1>
<ID2 xsi:type="node">387</ID2>
</child>
<child ID="395"
label="Could we define some sort of &quot;with&quot; macro which just acts like cons, and leave the fusion of fields to be done outside of the graph?&#xa;It then becomes possible to combine the return type info with the input type info to limit the number of cases to handle"
layerID="1" created="1479387466709" x="3503.6375" y="652.74475"
width="870.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faafb0eb90d</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="396" layerID="1" created="1479387466711" x="3854.0645"
y="618.74475" width="54.64673" height="34.5" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faa97a18d9d</URIString>
<point1 x="3854.5642" y="619.24475"/>
<point2 x="3908.211" y="652.74475"/>
<ID1 xsi:type="node">387</ID1>
<ID2 xsi:type="node">395</ID2>
</child>
<child ID="397" label="Polymorphic node types" layerID="1"
created="1479387905581" x="1708.6375" y="727.74475"
width="166.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#8AEE95</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faacd029888</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="398" layerID="1" created="1479387905582" x="1416.4615"
y="565.2322" width="350.84326" height="163.01257"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa3c0a8002633539faa2503ab0e</URIString>
<point1 x="1416.9615" y="565.7322"/>
<point2 x="1766.8048" y="727.74475"/>
<ID1 xsi:type="node">6</ID1>
<ID2 xsi:type="node">397</ID2>
</child>
<child ID="400" layerID="1" created="1479387927584" x="1792.5825"
y="432.24463" width="117.076416" height="296.0005"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faaa932392e</URIString>
<point1 x="1793.0825" y="727.7451"/>
<point2 x="1909.1589" y="432.74463"/>
<ID1 xsi:type="node">397</ID1>
<ID2 xsi:type="node">357</ID2>
<ctrlPoint0 x="1815.6375" y="548.24475" xsi:type="point"/>
</child>
<child ID="404" layerID="1" created="1479387967910" x="1801.7073"
y="432.25" width="117.14758" height="295.99475"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa8f40befb</URIString>
<point1 x="1918.3549" y="432.75"/>
<point2 x="1802.2073" y="727.74475"/>
<ID1 xsi:type="node">357</ID1>
<ID2 xsi:type="node">397</ID2>
<ctrlPoint0 x="1916.6375" y="603.24475" xsi:type="point"/>
</child>
<child ID="406" layerID="1" created="1479388021013" x="211.80775"
y="717.66406" width="125.32594" height="337.5807"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa3cb33fdb</URIString>
<point1 x="336.6337" y="718.16406"/>
<point2 x="212.30775" y="1054.7448"/>
<ID1 xsi:type="node">134</ID1>
<ID2 xsi:type="node">293</ID2>
<ctrlPoint0 x="337.63745" y="931.24475" xsi:type="point"/>
</child>
<child ID="408" layerID="1" created="1479388041109" x="-268.36255"
y="679.2012" width="451.3379" height="201.54358"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72668aa4c0a8002633539faa9a64a9f9</URIString>
<point1 x="182.47534" y="679.7012"/>
<point2 x="-267.86255" y="880.24475"/>
<ID1 xsi:type="node">295</ID1>
<ID2 xsi:type="node">291</ID2>
<ctrlPoint0 x="179.63745" y="880.24475" xsi:type="point"/>
</child>
<child ID="409" layerID="1" created="1479388138737" x="1408.7244"
y="1172.803" width="150.40967" height="45.793213"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faa2223c3fb</URIString>
<point1 x="1409.2244" y="1173.303"/>
<point2 x="1558.634" y="1218.0962"/>
<ID1 xsi:type="node">25</ID1>
<ID2 xsi:type="node">44</ID2>
<ctrlPoint0 x="1464.6375" y="1218.2448" xsi:type="point"/>
</child>
<child ID="410" layerID="1" created="1479388143803" x="1399.9028"
y="1172.803" width="119.57471" height="96.49426"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#000000</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faacb736715</URIString>
<point1 x="1400.4028" y="1173.303"/>
<point2 x="1518.9775" y="1268.7972"/>
<ID1 xsi:type="node">25</ID1>
<ID2 xsi:type="node">42</ID2>
<ctrlPoint0 x="1444.6375" y="1268.2448" xsi:type="point"/>
</child>
<child ID="411" layerID="1" created="1479388189966" x="1296.6572"
y="1172.803" width="93.310425" height="76.42578"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/72688d2cc0a8002633539faad8be8121</URIString>
<point1 x="1389.4677" y="1173.303"/>
<point2 x="1297.1572" y="1248.7288"/>
<ID1 xsi:type="node">25</ID1>
<ID2 xsi:type="node">27</ID2>
<ctrlPoint0 x="1352.6375" y="1249.2448" xsi:type="point"/>
</child>
<child ID="412"
label="Already implemented for tagged structures,&#xa;should not be too hard to make it work for graphs"
layerID="1" created="1479389260693" x="1793.6375" y="790.74475"
width="338.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7279521dc0a8002633539faa9926c093</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="413" layerID="1" created="1479389260695" x="1819.031"
y="750.24475" width="98.02136" height="41.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7279521dc0a8002633539faa28480501</URIString>
<point1 x="1819.531" y="750.74475"/>
<point2 x="1916.5524" y="790.74475"/>
<ID1 xsi:type="node">397</ID1>
<ID2 xsi:type="node">412</ID2>
</child>
<child ID="414"
label="1. record the fields added via node-with+, node-with! and node-with!!&#xa;2. The types which may have been added are therefore:&#xa;(difference input-types output-types) &#x2229; fields-mentionned-in-with*"
layerID="1" created="1479390037236" x="3858.6375" y="740.74475"
width="466.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7287a2ccc0a8002633539faa8697b9f3</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="415" layerID="1" created="1479390037237" x="3968.5771"
y="690.24475" width="81.10449" height="51.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7287a2ccc0a8002633539faa2c556ff8</URIString>
<point1 x="3969.0771" y="690.74475"/>
<point2 x="4049.1816" y="740.74475"/>
<ID1 xsi:type="node">395</ID1>
<ID2 xsi:type="node">414</ID2>
</child>
<child ID="416"
label="This does not allowof mixing the explicit with* for structures and the node-with*"
layerID="1" created="1479390248006" x="4378.6377" y="811.74475"
width="526.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7288d8b8c0a8002633539faa3849d5b4</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="419" layerID="1" created="1479390353025" x="3301.897"
y="514.24475" width="318.7273" height="85.60602"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7289950ec0a8002633539faa78352364</URIString>
<point1 x="3302.397" y="599.35077"/>
<point2 x="3620.1243" y="514.74475"/>
<ID1 xsi:type="node">382</ID1>
<ID2 xsi:type="node">376</ID2>
<ctrlPoint0 x="3397.6375" y="597.24475" xsi:type="point"/>
</child>
<child ID="420"
label="Problem: the macro will only be accessible within the graph transformation's body&#xa;This issue also occurs with node creation functions too (but they are functions, so they can at least be passed around)"
layerID="1" created="1479402724372" x="4412.6377" y="757.74475"
width="801.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/734b04c1afd9d7675fea10f2925b4ae0</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="423"
label="To pass the graph row tvar to other functions, make a new sort of &#x2200; (like for #:row),&#xa;and use (g-row-inst f g-row-var)."
layerID="1" created="1479403067621" x="3020.6375" y="765.24475"
width="562.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#E6F7FD</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7353a85bafd9d7675fea10f24895dc43</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="424" layerID="1" created="1479403607747" x="3078.0073"
y="632.74475" width="196.0542" height="133.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7353a85bafd9d7675fea10f2505e36aa</URIString>
<point1 x="3078.5073" y="633.24475"/>
<point2 x="3273.5615" y="765.24475"/>
<ID1 xsi:type="node">383</ID1>
<ID2 xsi:type="node">423</ID2>
</child>
<child ID="394"
label="Won't handle gracefully the case of mappings returning nested nodes"
layerID="1" created="1479387344773" x="3337.1375" y="716.74475"
width="468.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/725bf582c0a8002633539faa75b6ba0c</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="425" layerID="1" created="1479403710634" x="3170.8987"
y="673.24475" width="316.39014" height="44.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7355c611afd9d7675fea10f2464a6ef0</URIString>
<point1 x="3171.3987" y="673.74475"/>
<point2 x="3486.7888" y="716.74475"/>
<ID1 xsi:type="node">393</ID1>
<ID2 xsi:type="node">394</ID2>
</child>
<child ID="426" layerID="1" created="1479404272403" x="4324.1377"
y="769.8127" width="89.0" height="2.1586914" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/735e8357afd9d7675fea10f25dfdfc46</URIString>
<point1 x="4324.6377" y="770.3127"/>
<point2 x="4412.6377" y="771.4714"/>
<ID1 xsi:type="node">414</ID1>
<ID2 xsi:type="node">420</ID2>
</child>
<child ID="427" layerID="1" created="1479404290679" x="4103.9146"
y="793.2446" width="275.22314" height="30.500122"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/735e8357afd9d7675fea10f2729a7e75</URIString>
<point1 x="4104.4146" y="793.7446"/>
<point2 x="4378.6377" y="823.24475"/>
<ID1 xsi:type="node">414</ID1>
<ID2 xsi:type="node">416</ID2>
<ctrlPoint0 x="4118.6377" y="823.24475" xsi:type="point"/>
</child>
<child ID="428"
label="Don't record the fields added. Instead, return a tagged structure with *only* the fields added, and stash aside the original.&#xa;We know what the original may be statically (one of the graph's nodes)."
layerID="1" created="1479404327217" x="3520.6375" y="854.74475"
width="818.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/73636845afd9d7675fea10f2a9ff2eca</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="430" layerID="1" created="1479404329622" x="3803.7974"
y="690.24475" width="95.55615" height="165.0" strokeWidth="1.0"
autoSized="false" controlCount="1" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/73636845afd9d7675fea10f26ca61710</URIString>
<point1 x="3898.8535" y="690.74475"/>
<point2 x="3887.0615" y="854.74475"/>
<ID1 xsi:type="node">395</ID1>
<ID2 xsi:type="node">428</ID2>
<ctrlPoint0 x="3715.6375" y="778.24475" xsi:type="point"/>
</child>
<child ID="431"
label="Problem: what then should be the return type of the mapping?&#xa;(U (tagged tag all-fields &#x2026;)&#xa;(tagged WITH extra-fields &#x2026; (tagged tag original-fields))&#xa;Problem with that: it won't work with functional updates (i.e. it'll work only with+, not with!! nor with!)&#xa;because the with!! won't know what is the type of the tagged structure."
layerID="1" created="1479404856705" x="3604.6375" y="923.74475"
width="656.0" height="83.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/736a755dafd9d7675fea10f20c6acfd9</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="432" layerID="1" created="1479404856708" x="3929.7603"
y="892.2422" width="2.0163574" height="32.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/736a755dafd9d7675fea10f2f958e7ad</URIString>
<point1 x="3930.2605" y="892.7422"/>
<point2 x="3931.2769" y="923.7422"/>
<ID1 xsi:type="node">428</ID1>
<ID2 xsi:type="node">431</ID2>
</child>
<child ID="433"
label="Optionnally parameterize node types with an extra polymorphic type for the &quot;row&quot;&#xa;This poly type encapsulates the &quot;extra&quot; fields.&#xa;The return type of the mapping should indicate that the node has a &quot;row&quot; and which tvar to use&#xa;Statically, we can recognize that from the input, and perform the merge in an easy way"
layerID="1" created="1479481584246" x="2273.6375" y="737.74475"
width="635.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/77fa5631c0a83801659a3967307a2681</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="434" layerID="1" created="1479481584251" x="2664.9995"
y="591.49475" width="319.77393" height="146.75"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/77fa5637c0a83801659a39672e53f0db</URIString>
<point1 x="2984.2734" y="591.99475"/>
<point2 x="2665.4995" y="737.74475"/>
<ID1 xsi:type="node">378</ID1>
<ID2 xsi:type="node">433</ID2>
</child>
<child ID="439"
label="This does not however allow the use of &quot;with&quot; etc. without specifying the &quot;main&quot; fields"
layerID="1" created="1479485975528" x="2316.6375" y="865.74475"
width="566.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b6258c0a83801659a396706b41c0d</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="440" layerID="1" created="1479485975532" x="2593.377"
y="805.2422" width="5.8342285" height="61.001953"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a3967a5919df0</URIString>
<point1 x="2593.8767" y="805.7422"/>
<point2 x="2598.711" y="865.74414"/>
<ID1 xsi:type="node">433</ID1>
<ID2 xsi:type="node">439</ID2>
</child>
<child ID="443" label="More solutions" layerID="1"
created="1479486767440" x="3081.6375" y="272.74475"
width="110.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a396709970398</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="444" layerID="1" created="1479486767449" x="3138.0928"
y="295.24414" width="22.423096" height="127.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a39670a45e1ce</URIString>
<point1 x="3160.0156" y="421.74414"/>
<point2 x="3138.5925" y="295.74414"/>
<ID1 xsi:type="node">363</ID1>
<ID2 xsi:type="node">443</ID2>
</child>
<child ID="445"
label="Cheapy trivial tracking: use let-syntax on the inputs, so that we know their type"
layerID="1" created="1479486772901" x="2382.6375" y="160.74475"
width="527.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b6259c0a83801659a3967733b628e</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="446" layerID="1" created="1479486772904" x="2696.001"
y="183.24475" width="393.2898" height="90.57483"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a3967666d1aa4</URIString>
<point1 x="3088.791" y="273.31958"/>
<point2 x="2696.5012" y="183.74475"/>
<ID1 xsi:type="node">443</ID1>
<ID2 xsi:type="node">445</ID2>
</child>
<child ID="447"
label="When the result is just a single node for which we know the type (but not the chain of with! etc.)&#xa;auto-create the node, filling each field via (get-field f result) || (get-field f (next result)) || &#x2026;&#xa;and with! etc. only return a sort of pair with the new or overwritten fields in a tagged structure at the front, and the original in the rest"
layerID="1" created="1479486800251" x="2352.6375" y="-40.25525"
width="887.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a3967a167ad78</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="448" layerID="1" created="1479486800255" x="2825.917"
y="12.244873" width="298.08008" height="260.99976"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784b625ac0a83801659a396755702e91</URIString>
<point1 x="3123.497" y="272.74463"/>
<point2 x="2826.417" y="12.744873"/>
<ID1 xsi:type="node">443</ID1>
<ID2 xsi:type="node">447</ID2>
</child>
<child ID="451"
label="Won't work for map etc, those will need an annotation"
layerID="1" created="1479487002756" x="2460.6375" y="113.74475"
width="364.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784e56c5c0a83801659a39679b10ce32</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="452" layerID="1" created="1479487002761" x="2642.9941"
y="136.2461" width="2.7871094" height="25.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a396764247fc5</URIString>
<point1 x="2645.2812" y="160.7461"/>
<point2 x="2643.4941" y="136.7461"/>
<ID1 xsi:type="node">445</ID1>
<ID2 xsi:type="node">451</ID2>
</child>
<child ID="455"
label="Could work, we don't need to statically know the type for get-field/fallback"
layerID="1" created="1479487076289" x="2513.6375" y="-207.25525"
width="492.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a3967c532603f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="456" layerID="1" created="1479487076302" x="2761.4438"
y="-184.75488" width="29.878906" height="145.0"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784e56cfc0a83801659a39678a19388f</URIString>
<point1 x="2790.8228" y="-40.254883"/>
<point2 x="2761.9438" y="-184.25488"/>
<ID1 xsi:type="node">447</ID1>
<ID2 xsi:type="node">455</ID2>
</child>
<child ID="457"
label="but we must ensure that the return type is correct. How could we do that???"
layerID="1" created="1479487132743" x="3062.6375" y="-216.25525"
width="508.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/784e56d0c0a83801659a396759692c9e</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="458" layerID="1" created="1479487132747" x="3004.6394"
y="-201.15958" width="59.021973" height="1.9375153"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/784e56d0c0a83801659a3967b64162ba</URIString>
<point1 x="3005.1394" y="-199.72206"/>
<point2 x="3063.1614" y="-200.65958"/>
<ID1 xsi:type="node">455</ID1>
<ID2 xsi:type="node">457</ID2>
</child>
<child ID="463"
label="Bind the result with let, letting it infer the type,&#xa;grab the fields with get-field/fallback&#xa;and only enforce the type on the result / on the individual fields"
layerID="1" created="1479489493797" x="3104.6375" y="-178.25525"
width="425.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/7872f6c7c0a83801659a3967b9244b5d</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="464" layerID="1" created="1479489493820" x="3316.2458"
y="-193.75" width="1.1416016" height="16.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/7872f6c7c0a83801659a3967fb310cfc</URIString>
<point1 x="3316.7458" y="-193.25"/>
<point2 x="3316.8875" y="-178.25"/>
<ID1 xsi:type="node">457</ID1>
<ID2 xsi:type="node">463</ID2>
</child>
<child ID="465"
label="Subtyping and recursive types with TR sometimes rejects valid subtyping relationships"
layerID="1" created="1479489570917" x="1969.6375" y="479.74475"
width="570.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/787577e6c0a83801659a3967e32a4328</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="466" layerID="1" created="1479489570921" x="1972.8401"
y="432.17023" width="227.0697" height="48.074493"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a39671d0d1cc7</URIString>
<point1 x="1973.3402" y="432.67023"/>
<point2 x="2199.41" y="479.74472"/>
<ID1 xsi:type="node">357</ID1>
<ID2 xsi:type="node">465</ID2>
</child>
<child ID="467"
label="Not so much of a problem,&#xa;because we don't use subtyping, we use *bounded* row polymorphism&#xa;so we always know the exact list of types allwed,&#xa;and don't really use the subtyping aside from (U alt&#x2081; &#x2026; alt&#x2099;) at the top"
layerID="1" created="1479489603603" x="2039.6375" y="536.74475"
width="470.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a3967df77be38</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="468" layerID="1" created="1479489603606" x="2257.0305"
y="502.24512" width="9.553711" height="35.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/787577e7c0a83801659a39674bacedb2</URIString>
<point1 x="2257.5305" y="502.74512"/>
<point2 x="2266.0842" y="536.7451"/>
<ID1 xsi:type="node">465</ID1>
<ID2 xsi:type="node">467</ID2>
</child>
<child ID="471"
label="Pb: a loop will loose type information, so we have to hardcode a few iterations of fetching ->next"
layerID="1" created="1479493749797" x="2996.6375" y="-109.25525"
width="647.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b501a5c0a83801659a39678e8cb2cd</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="472" layerID="1" created="1479493749799" x="3318.1099"
y="-125.75391" width="1.888916" height="17.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a39673e57b5e0</URIString>
<point1 x="3318.6096" y="-125.25391"/>
<point2 x="3319.4985" y="-109.25391"/>
<ID1 xsi:type="node">463</ID1>
<ID2 xsi:type="node">471</ID2>
</child>
<child ID="473"
label="To avoid a large code blowup, factor out the get-field which will be called in several places in a polymorphic function?"
layerID="1" created="1479493833435" x="2934.6375" y="-73.25525"
width="773.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a396729606ba0</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="474" layerID="1" created="1479493833437" x="3319.9565"
y="-86.75781" width="1.361084" height="13.9921875"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b501a6c0a83801659a39679b169ce5</URIString>
<point1 x="3320.4568" y="-86.25781"/>
<point2 x="3320.8179" y="-73.265625"/>
<ID1 xsi:type="node">471</ID1>
<ID2 xsi:type="node">473</ID2>
</child>
<child ID="475"
label="Must specify the node name or tag+fields in the with* forms, possibly with a &quot;row&quot; variable.&#xa;The node name should be concise enough that it's not too much of a pain to write it in a lot of places."
layerID="1" created="1479493941528" x="3284.6375" y="211.74475"
width="681.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b782c0c0a83801659a396727249705</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="477" layerID="1" created="1479494033735" x="3153.2751"
y="232.3084" width="131.8623" height="40.936234"
strokeWidth="1.0" autoSized="false" controlCount="1"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b782c1c0a83801659a3967c215e1f3</URIString>
<point1 x="3153.7751" y="272.74463"/>
<point2 x="3284.6375" y="232.8084"/>
<ID1 xsi:type="node">443</ID1>
<ID2 xsi:type="node">475</ID2>
<ctrlPoint0 x="3212.6375" y="233.24475" xsi:type="point"/>
</child>
<child ID="478"
label="Detect all structure types which are present as inputs or outputs (or within the mapping?)&#xa;and use that information to make a large case handling"
layerID="1" created="1479494059762" x="3265.6375" y="266.74475"
width="598.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a396797741710</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="479" layerID="1" created="1479494059763" x="3191.1375"
y="283.9375" width="75.0" height="1.2593689" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a39678b01ea9d</URIString>
<point1 x="3191.6375" y="284.4375"/>
<point2 x="3265.6375" y="284.69687"/>
<ID1 xsi:type="node">443</ID1>
<ID2 xsi:type="node">478</ID2>
</child>
<child ID="482" label="Pb: rather costly (code size)" layerID="1"
created="1479494147236" x="3378.6375" y="316.74475"
width="196.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b9713fc0a83801659a39670e4489d6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="483" layerID="1" created="1479494147238" x="3499.9492"
y="304.24475" width="25.847168" height="13.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396776a928b8</URIString>
<point1 x="3525.2964" y="304.74475"/>
<point2 x="3500.4492" y="316.74475"/>
<ID1 xsi:type="node">478</ID1>
<ID2 xsi:type="node">482</ID2>
</child>
<child ID="484" label="Pb: we can't detect everything" layerID="1"
created="1479494157560" x="3593.6375" y="316.74475"
width="208.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396750c3a7da</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="485" layerID="1" created="1479494157562" x="3623.5964"
y="304.24475" width="38.552734" height="13.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78b97140c0a83801659a396707564963</URIString>
<point1 x="3624.0964" y="304.74475"/>
<point2 x="3661.6492" y="316.74475"/>
<ID1 xsi:type="node">478</ID1>
<ID2 xsi:type="node">484</ID2>
</child>
<child ID="488"
label="Since we don't need occurrence typing for incomplete nodes&#x2026;"
layerID="1" created="1479494214687" x="3106.6375" y="109.74475"
width="419.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78ba99b9c0a83801659a396792c09d82</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="489" layerID="1" created="1479494214689" x="3148.8015"
y="132.24487" width="155.17188" height="140.99976"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/78ba99b9c0a83801659a396789c84846</URIString>
<point1 x="3149.3015" y="272.74463"/>
<point2 x="3303.4734" y="132.74487"/>
<ID1 xsi:type="node">443</ID1>
<ID2 xsi:type="node">488</ID2>
</child>
<child ID="490"
label="Pb: I'm not sure we can type this correctly (perhaps relying heavily on inference?"
layerID="1" created="1479494404441" x="3681.6375" y="-20.255249"
width="534.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/78bd72dec0a83801659a39679db74cd5</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="498" label="Key" layerID="1" created="1482930066792"
x="1898.6375" y="-205.75525" width="395.75" height="172.5"
strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F4F5E9</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-18</font>
<URIString>http://vue.tufts.edu/rdf/resource/45873cde534430712734d86ab1152fe7</URIString>
<child ID="499" label="Potential solution (not implemented yet)"
created="1482930095971" x="34.0" y="30.0" width="361.33334"
height="27.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-16</font>
<URIString>http://vue.tufts.edu/rdf/resource/45873cde534430712734d86a6173ded7</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="495" label="Problem" created="1482929988379" x="34.0"
y="53.25" width="86.666664" height="27.0" strokeWidth="1.0"
autoSized="false" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-16</font>
<URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86a3f094d92</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="493" label="Should be OK (not implemented yet)"
created="1482929962993" x="34.0" y="76.5" width="318.66666"
height="27.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-16</font>
<URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86a14e4a638</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="494" label="Done" created="1482929973452" x="34.0"
y="99.75" width="63.0" height="27.0" strokeWidth="1.0"
autoSized="false" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#5491A4</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-16</font>
<URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86a1e77c5e8</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="500"
label="Valid but not implemented alternative / enhancement"
created="1482930253480" x="34.0" y="123.0" width="474.66666"
height="27.0" strokeWidth="1.0" autoSized="false" xsi:type="node">
<fillColor>#E6F7FD</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-16</font>
<URIString>http://vue.tufts.edu/rdf/resource/45bba55b534430712734d86a7b98e7af</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="496" label="Rejected solution"
created="1482930039269" x="34.0" y="146.25"
width="153.33333" height="27.0" strokeWidth="1.0"
autoSized="false" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-16</font>
<URIString>http://vue.tufts.edu/rdf/resource/45873cdf534430712734d86aab608348</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="503"
label="I doubt we could find a way to infer the graph row variable to pass in a feasible way.&#xa;We could override #%app to allow a more concise syntax, but that's it."
layerID="1" created="1482933605087" x="2936.6375" y="845.24475"
width="559.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45bba55c534430712734d86a16caa731</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="506" layerID="1" created="1482933646174" x="3235.9436"
y="802.7446" width="45.887695" height="43.000244"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/45bbf23d534430712734d86a4fad75b2</URIString>
<point1 x="3281.3313" y="803.2446"/>
<point2 x="3236.4436" y="845.2449"/>
<ID1 xsi:type="node">423</ID1>
<ID2 xsi:type="node">503</ID2>
</child>
<child ID="507"
label="can we use the representation as a case&#x2192; ?"
layerID="1" created="1482936022767" x="3303.6375" y="-14.255249"
width="309.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a57e07278</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="508" layerID="1" created="1482936022770" x="3328.8071"
y="8.244629" width="116.66138" height="102.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a070392ee</URIString>
<point1 x="3329.307" y="109.74463"/>
<point2 x="3444.9683" y="8.744629"/>
<ID1 xsi:type="node">488</ID1>
<ID2 xsi:type="node">507</ID2>
</child>
<child ID="509" layerID="1" created="1482936026239" x="3612.0593"
y="-5.9935493" width="70.43408" height="1.8493462"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a90157415</URIString>
<point1 x="3612.5593" y="-4.644203"/>
<point2 x="3681.9934" y="-5.4935493"/>
<ID1 xsi:type="node">507</ID1>
<ID2 xsi:type="node">490</ID2>
</child>
<child ID="510"
label="Representation as a binary tree with fields as the leaves.&#xa;To avoid the memory cost of carrying the intermediate nodes, we actually store the fields inside a closure,&#xa;which builds and returns the tree on request.&#xa;When initially building such records, known record types can be represented in a compact way.&#xa;When the record is updated (add / remove / modify fields), a series of &quot;delta&quot; patches are stored,&#xa;with a memory cost of O(1) per patch and a run-time extraction cost of O(log N) per patch (where N is the total number of fields in the program)"
layerID="1" created="1482936061557" x="3611.6375" y="65.74475"
width="944.0" height="98.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#C1F780</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86a3a5e0161</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="511" layerID="1" created="1482936061559" x="3525.0825"
y="118.24214" width="87.05493" height="1.7288055"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/45e66670534430712734d86ac0cf2c24</URIString>
<point1 x="3525.5825" y="119.47095"/>
<point2 x="3611.6375" y="118.74214"/>
<ID1 xsi:type="node">488</ID1>
<ID2 xsi:type="node">510</ID2>
</child>
<child ID="512"
label="To also get occurrence typing (probably not across modified versions of a record, only for the same exact unmodified record),&#xa;we can turn the closure over the field values (which is a thunk) into a pure promise.&#xa;Accessing the fields will be slower (O(log N) + O(log N) per patch), but at least it can be done without loss of functionality&#xa;(accesses of modified records within a mapping should be rare in practice, so the cost is acceptble)"
layerID="1" created="1482936478751" x="3997.6377" y="204.74475"
width="835.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86aa07fbb12</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="513" layerID="1" created="1482936478755" x="4214.134"
y="163.24487" width="110.6084" height="41.999878"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a24c87b1e</URIString>
<point1 x="4214.634" y="163.74487"/>
<point2 x="4324.242" y="204.74475"/>
<ID1 xsi:type="node">510</ID1>
<ID2 xsi:type="node">512</ID2>
</child>
<child ID="514"
label="Problem: how do we make the field accessors &quot;hybrid&quot;,&#xa;i.e. working both on fixed records and flex records?&#xa;We don't want nested field accesses to build up a tower of U types,&#xa;which makes acceesses very costly for the typechecker"
layerID="1" created="1482936685798" x="3909.6375" y="310.24475"
width="454.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a19adbd4d</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="516" layerID="1" created="1482936769032" x="4225.891"
y="272.24475" width="99.993164" height="38.500122"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a0c6770e9</URIString>
<point1 x="4325.3843" y="272.74475"/>
<point2 x="4226.391" y="310.24487"/>
<ID1 xsi:type="node">512</ID1>
<ID2 xsi:type="node">514</ID2>
</child>
<child ID="517"
label="It's already the case anyway when a field appears in more than a single struct."
layerID="1" created="1482936781221" x="3874.6375" y="413.74475"
width="527.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a0944806f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="518" layerID="1" created="1482936781223" x="4136.7676"
y="377.76562" width="1.6572266" height="36.484375"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/45ec4fff534430712734d86a1c61af46</URIString>
<point1 x="4137.2676" y="378.26562"/>
<point2 x="4137.925" y="413.75"/>
<ID1 xsi:type="node">514</ID1>
<ID2 xsi:type="node">517</ID2>
</child>
<child ID="519"
label="Problem: types like Has-get and the same tagged structure type&#xa;won't accept flex structs with the right fields&#xa;Adding a (U &#x2026;) will make an exponential type size &#x2192; not good"
layerID="1" created="1483019817725" x="4524.6377" y="309.74475"
width="433.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86a7563260a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="520" layerID="1" created="1483019817727" x="4528.32"
y="272.24475" width="124.71289" height="38.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86a3bbe533b</URIString>
<point1 x="4528.82" y="272.74475"/>
<point2 x="4652.5327" y="309.74475"/>
<ID1 xsi:type="node">512</ID1>
<ID2 xsi:type="node">519</ID2>
</child>
<child ID="521"
label="We have to require that the user converts back to the tagged structure representation&#xa;when passing to something which expects a tagged structure&#xa;(i.e. distinguish the tagged structure types, and the flex tagged structure types)"
layerID="1" created="1483019947983" x="4462.6377" y="394.74475"
width="586.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86afd00a858</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="522" layerID="1" created="1483019947985" x="4745.158"
y="362.24414" width="6.458496" height="32.998047"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b10aeea534430712734d86ae4487e0b</URIString>
<point1 x="4745.658" y="362.74414"/>
<point2 x="4751.1167" y="394.7422"/>
<ID1 xsi:type="node">519</ID1>
<ID2 xsi:type="node">521</ID2>
</child>
<child ID="523"
label="Possible improvement: count the number of patches, when it goes beyond a certain threshold,&#xa;recopy all the fields"
layerID="1" created="1483023191462" x="4231.6377" y="-63.25525"
width="630.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86a297e96f8</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="524" layerID="1" created="1483023191464" x="4225.8223"
y="-25.755249" width="265.9878" height="92.00012"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86ae98942d0</URIString>
<point1 x="4226.3228" y="65.74487"/>
<point2 x="4491.3105" y="-25.255249"/>
<ID1 xsi:type="node">510</ID1>
<ID2 xsi:type="node">523</ID2>
</child>
<child ID="525"
label="Problem: we don't know which fields to copy, so to do it in a typechecked way,&#xa;we would need to dispatch on the known struct types,&#xa;and otherwise fall back to keeping the patches, or keeping some patches based on the largest known sub-struct type."
layerID="1" created="1483023305811" x="3944.6377" y="-159.25525"
width="793.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FC938D</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86a64c609f2</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="526" layerID="1" created="1483023305812" x="4402.172"
y="-106.75513" width="100.84717" height="43.999878"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4b15d0d1534430712734d86ac3110955</URIString>
<point1 x="4502.519" y="-63.25525"/>
<point2 x="4402.672" y="-106.25513"/>
<ID1 xsi:type="node">523</ID1>
<ID2 xsi:type="node">525</ID2>
</child>
<child ID="528"
label="Otherwise, we could recopy all the fields on output of graph mappings,&#xa;as we know the type there (it's specified for the graph)"
layerID="1" created="1483039527123" x="4797.6377" y="-135.25525"
width="471.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FEFD8C</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c0c7efe534430712734d86a6143bf3b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="529" layerID="1" created="1483039527125" x="4674.5195"
y="-97.75525" width="230.73633" height="35.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c0c7efe534430712734d86a20138645</URIString>
<point1 x="4675.0195" y="-63.25525"/>
<point2 x="4904.756" y="-97.25525"/>
<ID1 xsi:type="node">523</ID1>
<ID2 xsi:type="node">528</ID2>
</child>
<child ID="530" layerID="1" created="1483039599401" x="4737.1377"
y="-123.80114" width="61.0" height="2.4306335" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c0c7efe534430712734d86a22d85a28</URIString>
<point1 x="4737.6377" y="-123.30114"/>
<point2 x="4797.6377" y="-121.87051"/>
<ID1 xsi:type="node">525</ID1>
<ID2 xsi:type="node">528</ID2>
</child>
<child ID="9" label="As a wrapper?" layerID="1"
created="1479309895903" x="1676.3673" y="913.9207" width="105.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b00c0a80026548592b8a0766ac6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="531" layerID="1" created="1483046153686" x="1688.6351"
y="880.4206" width="30.464355" height="34.000122"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c709721534430712734d86a3c298a33</URIString>
<point1 x="1689.1351" y="880.9206"/>
<point2 x="1718.5995" y="913.9207"/>
<ID1 xsi:type="node">7</ID1>
<ID2 xsi:type="node">9</ID2>
</child>
<child ID="534" layerID="1" created="1483046733635" x="-661.06274"
y="-191.75513" width="24.68274" height="113.95581"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c7aa01c534430712734d86a674135d7</URIString>
<point1 x="-660.56274" y="-78.29932"/>
<point2 x="-636.88" y="-191.25513"/>
<ID1 xsi:type="node">90</ID1>
<ID2 xsi:type="node">103</ID2>
</child>
<child ID="535"
label="Place run-time checks and ann checks after the &quot;editing&quot; policies&#xa;(so that the order of the run-time and ann checks do not matter much)"
layerID="1" created="1483046744434" x="-467.36255"
y="-217.25525" width="474.0" height="38.0" strokeWidth="1.0"
autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c7aa01c534430712734d86af85a0d62</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="536" layerID="1" created="1483046744436" x="-524.4689"
y="-202.02475" width="57.606323" height="1.6303558"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/4c7aa01c534430712734d86aedc8c725</URIString>
<point1 x="-523.9689" y="-201.52475"/>
<point2 x="-467.36255" y="-200.8944"/>
<ID1 xsi:type="node">103</ID1>
<ID2 xsi:type="node">535</ID2>
</child>
<child ID="538" label="i.e. a lens" layerID="1"
created="1484518582413" x="3000.6375" y="699.74475" width="76.0"
height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#E6F7FD</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/a46d8f60c0a801286acbb58b97c6fd0a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="539" layerID="1" created="1484518582423" x="3055.4656"
y="673.2446" width="40.17627" height="27.000122"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/a46d8f61c0a801286acbb58b996c697e</URIString>
<point1 x="3095.1418" y="673.7446"/>
<point2 x="3055.9656" y="699.74475"/>
<ID1 xsi:type="node">393</ID1>
<ID2 xsi:type="node">538</ID2>
</child>
<child ID="540"
label="Could be implemented using the function-updating-binarry-tree trick&#xa;Start from a tree with all positions filled with an empty vector (can be implemented as a single &quot;base&quot; function)&#xa;and then &quot;cons&quot; the non-empty vectors, effectively hiding the empty ones"
layerID="1" created="1484520835681" x="983.63745" y="-145.25525"
width="730.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/a46d8f61c0a801286acbb58b2b628a00</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="541" layerID="1" created="1484520835688" x="1368.2502"
y="-92.75525" width="169.49231" height="223.00012"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/a46d8f62c0a801286acbb58b19d6b212</URIString>
<point1 x="1537.2426" y="129.74487"/>
<point2 x="1368.7502" y="-92.25525"/>
<ID1 xsi:type="node">353</ID1>
<ID2 xsi:type="node">540</ID2>
</child>
<child ID="542"
label="O(1) memory overhead for each type which is live within an SCC&#xa;O(m) time overhead for access, m being the number of SCCs to traverse before reaching the desired node from its ancestor&#xa;The O(m) factor can probably be turned into a O(log m) with a bit of extra space usage"
layerID="1" created="1484521031023" x="926.63745" y="-235.25525"
width="825.0" height="53.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/a46d8f62c0a801286acbb58beacd7655</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="543" layerID="1" created="1484521031026" x="1341.4347"
y="-182.75488" width="4.9055176" height="38.0" strokeWidth="1.0"
autoSized="false" controlCount="0" arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/a46d8f62c0a801286acbb58b90bacc82</URIString>
<point1 x="1345.8402" y="-145.25488"/>
<point2 x="1341.9347" y="-182.25488"/>
<ID1 xsi:type="node">540</ID1>
<ID2 xsi:type="node">542</ID2>
</child>
<child ID="544" label="Check addition of new fields to the input"
layerID="1" created="1484557019620" x="2235.3042" y="324.74472"
width="274.0" height="23.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/a68081d4c0a801286ae39894efbfa682</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="545" layerID="1" created="1484557019630" x="1975.7919"
y="347.24472" width="335.61157" height="63.670532"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/a68081d5c0a801286ae398949e441433</URIString>
<point1 x="1976.2917" y="410.41525"/>
<point2 x="2310.9033" y="347.74472"/>
<ID1 xsi:type="node">357</ID1>
<ID2 xsi:type="node">544</ID2>
</child>
<child ID="546"
label="By versionning the lists of fields,&#xa;and indicating the last-good version number&#xa;in the graph creation code &#x2014; new versions have to be&#xa;approved by bumping the number."
layerID="1" created="1484557036779" x="2181.971" y="222.0781"
width="368.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#F2AE45</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/a68081d5c0a801286ae398942effba1f</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="547" layerID="1" created="1484557036786" x="2368.157"
y="289.57812" width="3.7387695" height="35.66797"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/a68081d6c0a801286ae398944c00f8fa</URIString>
<point1 x="2371.3958" y="324.7461"/>
<point2 x="2368.657" y="290.07812"/>
<ID1 xsi:type="node">544</ID1>
<ID2 xsi:type="node">546</ID2>
</child>
<child ID="550"
label="Needs graph isomorphism in the general case (when the AST contains sets of nodes),&#xa;which is costly"
layerID="1" created="1485632929412" x="1640.6375" y="1037.7448"
width="579.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#A6A6A6</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/e6a06477c0a80128519635b7f1185dc6</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="551" layerID="1" created="1485632929416" x="1614.5303"
y="1025.436" width="121.777954" height="12.808716"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/e6a06478c0a80128519635b723122715</URIString>
<point1 x="1615.0302" y="1025.936"/>
<point2 x="1735.8081" y="1037.7448"/>
<ID1 xsi:type="node">244</ID1>
<ID2 xsi:type="node">550</ID2>
</child>
<child ID="554" layerID="1" created="1485632973031" x="1730.171"
y="1075.2449" width="97.48096" height="18.799927"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/e6a06478c0a80128519635b734204420</URIString>
<point1 x="1827.152" y="1075.7448"/>
<point2 x="1730.671" y="1093.5447"/>
<ID1 xsi:type="node">550</ID1>
<ID2 xsi:type="node">246</ID2>
</child>
<child ID="556"
label="Maybe to simplify the two-representation problem,&#xa;we can have either [only-flex-all-the-way-down] or [only-inflexible-all-the-way-down]"
layerID="1" created="1487803597067" x="4616.637" y="78.91142"
width="552.0" height="38.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/75359481d38ff6122624eb26d5af6e3b</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="557"
label="Aggregation functions:&#xa;when a mapping is called multiple times, the aggregation&#xa;can merge together contextual data which is only available from the&#xa;callers"
layerID="1" created="1487805759600" x="179.63745" y="-144.9219"
width="455.0" height="68.0" strokeWidth="1.0" autoSized="true" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/75359482d38ff6122624eb264d4b647a</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<child ID="558" layerID="1" created="1487805841287" x="-537.14795"
y="174.42827" width="616.6211" height="185.27127"
strokeWidth="1.0" autoSized="false" controlCount="0"
arrowState="2" xsi:type="link">
<strokeColor>#404040</strokeColor>
<textColor>#404040</textColor>
<font>SansSerif-plain-11</font>
<URIString>http://vue.tufts.edu/rdf/resource/75359482d38ff6122624eb263634c828</URIString>
<point1 x="78.97316" y="359.19955"/>
<point2 x="-536.64795" y="174.92828"/>
<ID1 xsi:type="node">211</ID1>
<ID2 xsi:type="node">269</ID2>
</child>
<child ID="559"
label="Related&#xa;Contracts as a type (TR recent stuff)&#xa;Typed Nanopass in Haskell&#xa;(pass ordering)"
layerID="1" created="1488841303345" x="-1468.696" y="978.91156"
width="288.00012" height="140.0" strokeWidth="1.0"
autoSized="false" xsi:type="node">
<fillColor>#FFC63B</fillColor>
<strokeColor>#776D6D</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-12</font>
<URIString>http://vue.tufts.edu/rdf/resource/acdfdcb529bace3d04a958401e63a591</URIString>
<shape arcwidth="20.0" archeight="20.0" xsi:type="roundRect"/>
</child>
<layer ID="1" label="Layer 1" created="1479309847607" x="0.0"
y="0.0" width="1.4E-45" height="1.4E-45" strokeWidth="0.0" autoSized="false">
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b15c0a80026548592b8d2f3fee2</URIString>
</layer>
<userZoom>0.75</userZoom>
<userOrigin x="-1182.522" y="-282.81644"/>
<presentationBackground>#FFFFFF</presentationBackground>
<PathwayList currentPathway="0" revealerIndex="-1">
<pathway ID="0" label="Chemin sans nom" created="1479309847603"
x="0.0" y="0.0" width="1.4E-45" height="1.4E-45"
strokeWidth="0.0" autoSized="false" currentIndex="0" open="true">
<strokeColor>#B3993333</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-14</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b16c0a80026548592b8204729d3</URIString>
<masterSlide ID="2" created="1479309847623" x="0.0" y="0.0"
width="800.0" height="600.0" locked="true"
strokeWidth="0.0" autoSized="false">
<fillColor>#000000</fillColor>
<strokeColor>#404040</strokeColor>
<textColor>#000000</textColor>
<font>SansSerif-plain-14</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b16c0a80026548592b817230376</URIString>
<titleStyle ID="3" label="Header"
created="1479309850047" x="329.0" y="174.5"
width="142.0" height="51.0" strokeWidth="0.0"
autoSized="true" isStyle="true" xsi:type="node">
<strokeColor>#404040</strokeColor>
<textColor>#FFFFFF</textColor>
<font>Gill Sans-plain-36</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b17c0a80026548592b88a8fba25</URIString>
<shape xsi:type="rectangle"/>
</titleStyle>
<textStyle ID="4" label="Slide Text"
created="1479309850048" x="340.0" y="282.5"
width="120.0" height="35.0" strokeWidth="0.0"
autoSized="true" isStyle="true" xsi:type="node">
<strokeColor>#404040</strokeColor>
<textColor>#FFFFFF</textColor>
<font>Gill Sans-plain-22</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b17c0a80026548592b8c426a9c8</URIString>
<shape xsi:type="rectangle"/>
</textStyle>
<linkStyle ID="5" label="Links" created="1479309850107"
x="372.5" y="385.0" width="55.0" height="30.0"
strokeWidth="0.0" autoSized="true" isStyle="true" xsi:type="node">
<strokeColor>#404040</strokeColor>
<textColor>#B3BFE3</textColor>
<font>Gill Sans-plain-18</font>
<URIString>http://vue.tufts.edu/rdf/resource/6dbf6b18c0a80026548592b8ea0d19d7</URIString>
<shape xsi:type="rectangle"/>
</linkStyle>
</masterSlide>
</pathway>
</PathwayList>
<date>2016-11-16</date>
<modelVersion>6</modelVersion>
<saveLocation>/home/georges/phc/racket-packages/phc-graph</saveLocation>
<saveFile>/home/georges/phc/racket-packages/phc-graph/Graph-notes-copy2.vue</saveFile>
</LW-MAP>