TypeScriptの型レベルfold