title: Erlang function already defined with guard clauses
body: <p>Writing a recursive function, I want one fn that executes when the list has elements and another when it is empty:</p>
  
  <pre><code> transfer(Master, [H|Tail]) -&gt;
    Master ! {transfer, H},
    transfer(Master, Tail).
  
  transfer(_Master, []) -&gt;
    nil.
  </code></pre>
  
  <p>The problem I'm getting is <code>src/redis/redis_worker.erl:13: function transfer/2 already defined</code>. I understand it is upset about two functions with the same name and arity, but these two should be different.</p>