type S { value: i32, fn risky(self: ref) -> Void raises [Bad] { raise Bad } } interface Risky { fn risky(self: ref) -> Void raises [Bad] } fn run>(value: ref) -> Void raises [Bad] { check T.risky(value) } pub fn main() -> Void { }