//ww:run-exit 18 // Migrated from 700_e2e row 72. package main; fn pick(n: i64) (i64 | i32 | u32) = { if (n < 0) { return 1: i32; }; if (n == 0) { return 2: u32; }; return n; }; fn main() i32 = { let r1: (i64 | i32 | u32) = pick(0); let r2: (i64 | i32 | u32) = pick(-1); let r3: (i64 | i32 | u32) = pick(7); let acc: i32 = 0; match (r1) { case let v: i64 => acc += 100; case i32 | u32 => acc += 1; }; match (r2) { case let v: i64 => acc += 100; case i32 | u32 => acc += 10; }; match (r3) { case let v: i64 => acc += v: i32; case i32 | u32 => acc += 100; }; return acc; };