Co-authored-by: Adrian <adrian.iosdev@gmail.com>
AliasKind::Weak
Only use it when the type alias contains an opaque type. Also does wf-checking on such type aliases.