title: S3 dispatching of `rbind` and `cbind`
body: <p>I am trying to write an <code>rbind</code> method for a particular class. Here's a simple example where it doesn't work (at least for me):</p>
  
  <pre><code>rbind.character &lt;- function(...) {
      do.call("paste", list(...))
  }
  </code></pre>
  
  <p>After entering this function, I seemingly can confirm that it is a valid method that R knows about:</p>
  
  <pre><code>&gt; methods("rbind")
  [1] rbind.character  rbind.data.frame rbind.rootogram* rbind.zoo*      
  see '?methods' for accessing help and source code
  </code></pre>
  
  <p>However, it is not recognized if I try to use it:</p>
  
  <pre><code>&gt; rbind("abc", "xyz")
       [,1] 
  [1,] "abc"
  [2,] "xyz"
  &gt; #### compared with ####
  &gt; rbind.character("abc", "xyz")
  [1] "abc xyz"
  </code></pre>
  
  <p>The help page says that dispatch is performed internally as follows:</p>
  
  <ol>
  <li>For each argument we get the list of possible class memberships from
  the class attribute.</li>
  <li>We inspect each class in turn to see if there is an applicable
  method.</li>
  <li>If we find an applicable method we make sure that it is identical to
  any method determined for prior arguments. If it is identical, we
  proceed, otherwise we immediately drop through to the default code.</li>
  </ol>
  
  <p>With <code>rbind("abc", "xyz")</code>, I believe all these criteria are satisfied. What gives, and how can I fix it?</p>