what if value is intentionally null?  Might be cleaner to check length of `arguments`