def METHOD_NAME(self):
    value_cls = Value[List[CustomType]]
    empty = []
    nonempty = [CustomType()]
    # Empty construction.
    value = value_cls()
    self.assertEqual(value.get_value(), empty)
    value = value_cls(empty)
    self.assert_equal_but_not_aliased(value.get_value(), empty)
    value = value_cls(nonempty)
    self.assert_equal_but_not_aliased(value.get_value(), nonempty)
    # Test mutation.
    value = value_cls(nonempty)
    self.assertNotEqual(value.get_value(), empty)
    value.set_value(empty)
    self.assert_equal_but_not_aliased(value.get_value(), empty)