# What is the philosophy behind \[Rule] (a.k.a. ->) for assigning options?

Today I was banging my head against my desk when I realized that the problem I was experiencing was due to having typed

ImageSize[Large]


ImageSize -> Large

• ... and some are both: BaseStyle -> PointSize[Large] and BaseStyle -> PointSize->Large – kglr Sep 13 '18 at 18:22
• Well, the reason for PointSize[Large] is that it is submitted as directive to Graphics and Graphics3D; the latter two have their somewhat their own language. I always used to think of options as key-value pairs, even before associations were introduced. When submitting options, the user defined "association" of options opts is merged with the default options defaultopt like it would be done with Merge[{opts, defaultopts}, First]. Maybe that helps you, Kai? – Henrik Schumacher Sep 13 '18 at 18:27
• Thickness and Dashing also work both ways: Graphics[{Dashing -> Small, Thickness[.05], Line[{{0, 0}, {1, 1}}], Thickness -> .01, Dashing[Large], Line[{{0, 1}, {1, 0}}]}] – kglr Sep 13 '18 at 18:34
• ... so do CapForm, JoinForm, Opacity – kglr Sep 13 '18 at 18:40