optimize ++ operation with mconcat