public function testAttributesAreImmutableAndRemoveable()
 {
     $this->assertNull($this->server->getAttribute('foo'));
     $server = $this->server->withAttribute('foo', 'bar');
     $this->assertNotSame($this->server, $server);
     $this->assertEquals('bar', $server->getAttribute('foo'));
     $server2 = $server->withoutAttribute('foo');
     $this->assertNotSame($server, $server2);
     $this->assertNotSame($server2, $server2->withoutAttribute('foo'));
     $this->assertNull($server2->getAttribute('foo'));
 }