Implement printer cases for TS{Conditional,Infer}Type.
Implement printer cases for TS{Conditional,Infer}Type.

Although (infer T) must frequently be parenthesized to avoid ambiguity,
Recast does not have to encode that logic into FastPath#needsParens,
because Babylon wraps such types with TSParenthesizedType. Cool!

https://github.com/babel/babel/pull/7404/
https://github.com/benjamn/ast-types/commit/da0367bd4bef9cb6fc34ef74714564b3073aa81f
https://github.com/Microsoft/TypeScript/pull/21316
https://github.com/Microsoft/TypeScript/pull/21496

benjamn/recast,benjamn/recast,benjamn/recast