When I have seen intellisense for the first argument my short time memory hasn't deteriorated that speedily that I need it for the second one.
The example sub just used parameters of the same type. The point was just to demo Intellisense. Could just as easily been ...
Private Sub M_Clothing(SizeShirt As ShirtSize, SizePants As PantSize, BeltSize as Long, PaidBy as PaymentMethod, SalesClerk as Emp, Discount as Double, Returned as Boolean)
each with their Enums
'Normal' language is more ambiguous than the use of consistent programming conventions
Agreed, but I don't think that's the same as self-documenting code
I could have filled the macro with things like c00 = ... and c01 = ..... and in six months I would have to figure it all out again.