var cb: proc(x: ^Char) -> Int proc probe_int(x: ^Int) -> Int return 42 begin cb := cast(probe_int: proc(x: ^Char) -> Int); assert(cb(nil) = 42) end.