make [] optional for mexps