let umake graph ed =
match ed with
Left _ -> Right "Choose an edge"
| Right edge_id ->
let (c,target,port) = DG.findedge edge_id graph
in
if (DG.findnode c.sourceid graph).nname == Or
then
match target.nname with
And -> overAnd (c,target,port) graph
| LongOr -> overLongOr (c,target,port) graph
| Or -> GrbTrFuseTwoAndOr.Tr.umake graph (Right edge_id)
| _ -> overBitstring (c,target,port) graph
else Right "Source of the edge must be Or"