docs: def append(*vectors):
      r"""
      Takes an arbitrary number of vectors containing features and append them
      (horizontally).
      
      E.g. taking a 100 and a 200 sample vector with 7 features each, a 300x7
      vector is returned.
      
      The vectors are expected to have the form samples*features i.e.::
      
              s1    s2    s3    [...]
          f1
          f2
          [...]
      
      Parameters
      ----------
      *vectors : sequences
          A number of vectors with the same number and type of features.
      
      Returns
      -------
      vector : ndarray
          The appended vectors.
      """
      # check supplied arguments
      if len(vectors) < 2:
          return vectors[0]
      
      # process supplied arguments
      vectors = list(vectors)
      for i in range(len(vectors)):
          vectors[i] = numpy.asarray(vectors[i])
          if vectors[i].ndim == 1:
              vectors[i] = numpy.asarray([vectors[i]]).T
  
      return numpy.squeeze(numpy.concatenate(vectors, 0))