X
data X a
data E a
data Setup a
edge
accumulate
snapshot
snapshot_
filterE
justE
maybeE
never
newX
newE
input
output
runProgram