X

data X a

data E a

data Setup a

edge

accumulate

snapshot

snapshot_

filterE

justE

maybeE

never

newX

newE

input

output

runProgram