title: Is Ramda ifElse an effective pattern if it abstracts a ternary operation
body: <p>Risky question to be opinionated. I'm working on a project with Ramda.js. And I see many <code>ifElse</code> calls throughout the code. </p>
  
  <pre><code>const getEvent = R.ifElse(
    fireable,
    R.always(sendAnalyticsEvent),
    R.always(R.always(undefined))
  );
  </code></pre>
  
  <h2>Is this really worth the effort to wrap logic in a functional conditional like this? Is there a benefit?</h2>
  
  <p>If ultimately Ramda just abstracts a ternary operation and we return undefined on false match.</p>
  
  <p>Ramdas ifElse</p>
  
  <pre><code>var ifElse = _curry3(function ifElse(condition, onTrue, onFalse) {
    return curryN(Math.max(condition.length, onTrue.length, onFalse.length),
      function _ifElse() {
        return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);
      }
    );
  });
  export default ifElse;
  </code></pre>
  
  <p>This seems like an anitpattern in the FP world, always returning undefined or in some cases null </p>
  
  <p><code>R.ifElse(hasUrl, promptToShare, R.always(null))</code></p>
  
  <p>Regardless of the questionable return of undefined, wouldn't using ternary operators be more idiomatic to a javascript community?</p>
  
  <p><code>hasUrl(urlObject) ? promptToShare() : null</code></p>
  
  <p>This seems more succinct and legible to me, I want to refactor. But this could be due to my naivety of the FP world.</p>