To take the E6 example of currying &part:
&List::Part::part.assuming(labels => <<sheep goats>>)
One had to curry in C<labels> to be the same as it was defined in C<&part> originally, i.e. C<< <<sheep goats>> >>.
What if one wanted to curry in whatever the default is, i.e., assuming "nothing" (different from "assuming nothing"), so that if List::Part::part changed its default for C<labels> to C<< <<oves caperes>> >>, the client code would pick that up?
If you're assuming "nothing", don't use C<.assuming> (since you aren't ;-) Just write:
sub my_part(Selector $s, [EMAIL PROTECTED]) { part $s <== *data }
and let C<&part> do the assuming for you.
Damian