title: Using Ramda reject with Promises
body: <p>How can Ramda.reject() be used with Promises?</p>
  
  <p><code>map()</code> can work like this</p>
  
  <pre><code>const data = [ {id: 1}, {id: 2} ]
  const userIsAdmin = (user) =&gt; isAdmin(user) // async database call
  const result = await Promise.all(R.map(userIsAdmin, data))
  console.log(result) // [true, false]
  </code></pre>
  
  <p>But what I really want is to get the user ids back, but with admins rejected. I've tried the following code and other variations using <code>pipeP</code>.</p>
  
  <pre><code>await Promise.all(R.reject(async (d) =&gt; await userIsAdmin(d))(data))
  </code></pre>
  
  <p>How can this be done?</p>
  
  <p>An alternative is to refactor <code>isAdmin()</code> to accept an array and just wait for one promise to complete.</p>