The matrices are bound together using their column names or the column indices (in that order of
precedence.) Numeric columns may be converted to character beforehand, e.g. using format. If a
matrix doesn't have colnames, the column number is used (via `[make.names][base::make.names](unique = TRUE)`

).

`rbind`

s a list of data frames filling missing columns with NA.

```
# S3 method for matrix
rbind.fill(...)
# S3 method for fill
rbind(...)
```

- ...
data frames/matrices to row bind together

a matrix

Note that this means that a column with name `"X1"`

is merged with the first column of a
matrix without name and so on.

Vectors are converted to 1-column matrices prior to rbind.

Matrices of factors are not supported. (They are anyways quite inconvenient.) You may convert them first to either numeric or character matrices. If a character matrix is merged with a numeric, the result will be character.

Row names are ignored.

The return matrix will always have column names.

This is an enhancement to `rbind()`

which adds in columns
that are not present in all inputs, accepts a list of data frames, and
operates substantially faster

```
A <- matrix(1:4, 2)
B <- matrix(6:11, 2)
A
#> [,1] [,2]
#> [1,] 1 3
#> [2,] 2 4
B
#> [,1] [,2] [,3]
#> [1,] 6 8 10
#> [2,] 7 9 11
hyperSpec:::rbind.fill.matrix(A, B)
#> X1 X2 X3
#> [1,] 1 3 NA
#> [2,] 2 4 NA
#> [3,] 6 8 10
#> [4,] 7 9 11
colnames(A) <- c(3, 1)
A
#> 3 1
#> [1,] 1 3
#> [2,] 2 4
hyperSpec:::rbind.fill.matrix(A, B)
#> 3 1 X1 X2 X3
#> [1,] 1 3 NA NA NA
#> [2,] 2 4 NA NA NA
#> [3,] NA NA 6 8 10
#> [4,] NA NA 7 9 11
hyperSpec:::rbind.fill.matrix(A, 99)
#> 3 1 X1
#> [1,] 1 3 NA
#> [2,] 2 4 NA
#> [3,] NA NA 99
# rbind.fill(mtcars[c("mpg", "wt")], mtcars[c("wt", "cyl")])
```