let cudfop = function
|Some(("<<" | "<"),v) -> Some(`Lt,v)
|Some((">>" | ">"),v) -> Some(`Gt,v)
|Some("<=",v) -> Some(`Leq,v)
|Some(">=",v) -> Some(`Geq,v)
|Some("=",v) -> Some(`Eq,v)
|Some("ALL",v) -> None
|None -> None
|Some(c,v) -> fatal "%s %s" c v