> The optional-ness is pretty complicated.

All the more reason to document it!

> Should is specify optional on all Parameters?

Yes.  Sorry for not being clear.  The Parameters need 'optional' the Attributes don't.