title: How to use R.pick with TypeScript
body: <p>I was trying out something like</p>
  
  <pre class="lang-js prettyprint-override"><code>import R from 'ramda'
  import fs from 'fs'
  import path from 'path'
  import {promisify} from 'util'
  
  const readFile = promisify(fs.readFile)
  
  export async function discoverPackageInfo(): Promise&lt;{
    name: string,
    version: string
    description: string
  }&gt; {
    return readFile(path.join(__dirname, '..', 'package.json'))
      .then(b =&gt; b.toString())
      .then(JSON.parse)
      .then(R.pick([
        'name',
        'description',
        'version',
      ]))
  }
  </code></pre>
  
  <p>But I got</p>
  
  <pre><code>src/file.ts:13:3 - error TS2322: Type '{ name: string; version: string; description: string; } | Pick&lt;any, never&gt;' is not assignable to type '{ name: string; version: string; description: string; }'.
    Type 'Pick&lt;any, never&gt;' is missing the following properties from type '{ name: string; version: string; description: string; }': name, version, description
  
   13   return readFile(path.join(__dirname, '..', 'package.json'))
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   14     .then(b =&gt; b.toString())
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ... 
   19       'version',
      ~~~~~~~~~~~~~~~~
   20     ]))
      ~~~~~~~
  
  </code></pre>
  
  <p>What am I doing wrong?</p>