New model confusion

@axl, I get stuff like

@Mutate addTasks( ModelMap<Task> t, Foo f)

because I think that it states that if a managed object of type Foo is added to the model, then it will affect the list of tasks associated with the model (or project to be pragmatic). However, if I follow the same reasoning then

@Mutate mutateWithExtraMethod( Foo f, def input1 ) {
}

does not make sense, neither would something like

@Mutate mutateWithExtraMethod( Foo f, String input1 ) {
}

However, if as you said “optional arguments are normally other model or extension objects”, then

@Mutate mutateWithExtraMethod( Foo f, Bar input1 ) {
}

says, that if a domain object of type Bar is added, this will affect a domain object of type Foo.

This still leaves me with ro wonder about the validaity of this all as I still have not found anything in the docs that explicitly states that the additional arguments have to be managed/model/extension objects.