* fix #15836 proc arg return type auto unexpectly match proc with concrete type * fix #16244 * add test case for #12869