open Fwd_protocol type var_c = C of principal type var_w = W of principal type var_r = R of principal type var_q = Q of int (* Proxy function for role c *) type result_c = string type msg0 = Commit of (var_q * var_c * var_w * var_r * result_c) val c : principal -> msg0 -> result_c (* Proxy function for role w *) type result_w = string type msg2 = { hCommit : (var_q * var_c * var_w * var_r -> msg3)} and msg3 = Fwd of (result_w) val w : principal -> msg2 -> result_w (* Proxy function for role r *) type result_r = string type msg5 = { hFwd : (var_q * var_c * var_w * var_r -> result_r)} val r : principal -> msg5 -> result_r