Type patterns

Match every permitted child of a closed hierarchy.

Result.kalm kalm
pub closed class Result:
    pub fix class Ready inherits Result {}
    pub fix class Missing inherits Result {}

pub fun label(result: Result) -> Text = choose result {
    when Result.Ready => "ready";
    when Result.Missing => "missing";
};

Learn more.