We will not need the type if we check if the default value is a function. I don't think this code should be specific for uuid