All seems pretty normal to me, except for the warning on ++ but not on +=. I don't see where you show slices and pure lists working differently.
I think most of your trouble is with context. += and ++ give their operands scalar context, = only gives context to the right operand, based on what is on the left.