// Try operator `?` with generic Result (non-int Ok payload). import Std::Io::{PrintLine}; import Std::Result::{Result, Result_NewOk, Result_NewErr}; import Std::String::{String_Eq}; func GetGreeting(name: String) -> Result { if String_Eq(name, "") { return Result_NewErr("empty name"); } return Result_NewOk("hello"); } func Greet(name: String) -> Result { let g: String = GetGreeting(name)?; return Result_NewOk(g); } func Main() -> int { PrintLine("Try generic Result demo:"); let ok: Result = Greet("bux"); if ok.tag == Result_Ok { PrintLine(ok.data.Ok_0); } let err: Result = Greet(""); if err.tag == Result_Err { PrintLine(err.data.Err_0); } return 0; }