This does solve the problem but it seems like a violation of the principle of least astonishment. As an end user I would assume that if I switched from a special schedule to a normal schedule, Puppet should wipe the special schedule entirely. If both a special schedule and normal schedule parameters are specified the resource should fail to validate, otherwise we shouldn't require special casing like that.

Thoughts?