//ww:error "tagged cast source shape unwired" package main; type inner = (int | bool); type outer = (int | bool | str); fn mk() outer = { return true: inner; }; export fn main() i32 = { let v = mk(); match (v) { case let n: int => return 70; case let b: bool => return 11; case let s: str => return 22; }; return 99; };