public function withValue($value) { Type::enforce($value, Type::STRING); $this->value = $value; return $this; }