Allow DVals to carry initial arbitrary parameters.
Switch DVal to deftype as it is not user-accessible record.