I think part of why I wanted to do this is because I used to code in Java, and in Java it's common for an object to encapsulate its variables and functions, and have the functions reference the variables of the object that owns it. I guess nothing is stopping me from doing that here, I could define something like
function u(UF::UtilityFunction,consump,labor)
sigmac = UF.sigmac;
consump.^(1-sigmac)/(1-sigmac) + psi*(1-labor).^(1-sigmal)/(1-sigmal)
end
