let is_simple_forward (graph : graph)
(edge : outedge) : bool =
match edge with
| OutConcatLeft(other, target)
| OutConcatRight(other, target) ->
let other_node = find_node graph other in
let target_node = find_node graph target in
free other_node && almostfree target_node
| OutIsect target ->
let target_node = find_node graph target in
almostfree target_node