Much better support of "x as T.if" case. WIP