By convention, we add a bang character ! to any function name that mutates its arguments, so for the following code example, should we add a ! to the functor name?
mutable struct Foo
a::Int
end
(foo::Foo)(val) = foo.a = val
f = Foo(1) # f.a = 1
f(10) # f.a = 10
In short, is it possible to call the last line as f!(10)? I am just curious. Thanks.