message: Add Default implementations for Value/FrozenValue
  Summary: The only sensible implementation is producing a None, so have them do that. Useful in some prototype code I did, but that didn't go anywhere, but might be useful in future.
diff: @@ -155,7 +155,7 @@ impl Heap {
  /// allowing implementations of [`ComplexValue`] to be agnostic of their contained type.
  /// For details about each function, see the documentation for [`Value`],
  /// which provides the same functions (and more).
  -pub trait ValueLike<'v>: Eq + Copy + Debug {
  +pub trait ValueLike<'v>: Eq + Copy + Debug + Default {
  /// Produce a [`Value`] regardless of the type you are starting with.
  fn to_value(self) -> Value<'v>;
  @@ -225,6 +225,18 @@ impl<'v> Hashed<Value<'v>> {
  }
  }
  +impl Default for Value<'_> {
  + fn default() -> Self {
  + Self::new_none()
  + }
  +}
  +
  +impl Default for FrozenValue {
  + fn default() -> Self {
  + Self::new_none()
  + }
  +}
  +
  impl<'v> ValueLike<'v> for Value<'v> {
  fn get_aref(self) -> ARef<'v, dyn StarlarkValue<'v>> {
  Value::get_aref(self)
  