[Comparable] union Basic { int; double; }; [ChildProc=any] sync protocol Punion_Comparable { parent: sync Msg(Basic p) returns (Basic r); };