Yep, bind.c:do_bind has switch(mode) { case NILSXP: case LGLSXP: case INTSXP: case REALSXP: case CPLXSXP: case STRSXP: break; default: errorcall(call, "cannot create a matrix from these types"); } Looks like a fairly simple fix to me. -thomas