As the readme notes using an reference-type as the value for default makes the same instance shared by all invocations, which is not that useful.
Would it be an idea to allow a function as value, to be called when a new default value is needed so it can produces a new instance?