We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Get rid of netket::Qubits class
`netket::Qubits` is really just a `CustomHilbert` with `localstates = {0.0, 1.0}`. No need for code duplication.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `netket/hilbert.py`
Content:
```
1 from ._C_netket.hilbert import *
2
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/netket/hilbert.py b/netket/hilbert.py
--- a/netket/hilbert.py
+++ b/netket/hilbert.py
@@ -1 +1,22 @@
 from ._C_netket.hilbert import *
+
+
+def Qubit(graph):
+    """
+    Constructs a new ``Qubit`` given a graph.
+
+    Args:
+        graph: Graph representation of sites.
+
+    Examples:
+        Simple qubit hilbert space.
+
+        ```python
+        >>> from netket.graph import Hypercube
+        >>> from netket.hilbert import Qubit
+        >>> g = Hypercube(length=10,n_dim=2,pbc=True)
+        >>> hi = Qubit(graph=g)
+        >>> print(hi.size)
+        100
+    """
+    return CustomHilbert(graph, local_states=[0, 1])

{"golden_diff": "diff --git a/netket/hilbert.py b/netket/hilbert.py\n--- a/netket/hilbert.py\n+++ b/netket/hilbert.py\n@@ -1 +1,22 @@\n from ._C_netket.hilbert import *\n+\n+\n+def Qubit(graph):\n+    \"\"\"\n+    Constructs a new ``Qubit`` given a graph.\n+\n+    Args:\n+        graph: Graph representation of sites.\n+\n+    Examples:\n+        Simple qubit hilbert space.\n+\n+        ```python\n+        >>> from netket.graph import Hypercube\n+        >>> from netket.hilbert import Qubit\n+        >>> g = Hypercube(length=10,n_dim=2,pbc=True)\n+        >>> hi = Qubit(graph=g)\n+        >>> print(hi.size)\n+        100\n+    \"\"\"\n+    return CustomHilbert(graph, local_states=[0, 1])\n", "issue": "Get rid of netket::Qubits class\n`netket::Qubits` is really just a `CustomHilbert` with `localstates = {0.0, 1.0}`. No need for code duplication.\n", "before_files": [{"content": "from ._C_netket.hilbert import *\n", "path": "netket/hilbert.py"}], "after_files": [{"content": "from ._C_netket.hilbert import *\n\n\ndef Qubit(graph):\n    \"\"\"\n    Constructs a new ``Qubit`` given a graph.\n\n    Args:\n        graph: Graph representation of sites.\n\n    Examples:\n        Simple qubit hilbert space.\n\n        ```python\n        >>> from netket.graph import Hypercube\n        >>> from netket.hilbert import Qubit\n        >>> g = Hypercube(length=10,n_dim=2,pbc=True)\n        >>> hi = Qubit(graph=g)\n        >>> print(hi.size)\n        100\n    \"\"\"\n    return CustomHilbert(graph, local_states=[0, 1])\n", "path": "netket/hilbert.py"}]}