calls to *expr() now return matrices instead of data frames, when appropriate