Yes I was also thinking about if evaluating all other arguments is a good idea. My first thought was about performance and the conclusion was that when one does work interactively on the REPL, one wants to do this evaluation anyway. There are, of course issues with mutating functions like when typing this:
using NetCDF ncwrite(scale!(x,2),"myfile.nc"," and when you tab-complete now, your have already applied the scale! function to the first argument. Maybe I should add some big warnings in the package text.