nit: v->value