@manwithtwowatches is there any case where we might want to handle null/undefined values differently depending on their given type? If not, it might be DRYer just to check for null once at the beginning of this function?