`[ settles ]` section written without checking units
**Description**

The constraint distances that propagate out to the `[ settles ]` section in GROMACS topology files are written out without ensuring they are converted to nanometers.

**Reproduction**

```python
In [1]: from openff.toolkit import ForceField, Molecule

In [2]: ForceField("openff-2.1.0.offxml").create_interchange(
   ...:     Molecule.from_mapped_smiles("[H:2][O:1][H:3]").to_topology()
   ...: ).to_top("settle.top")
```

**Output**


produces a file containing the following erroneous directive (recall GROMACS uses nanometers implicitly):

```
[ settles ]
;i  funct   dOH  dHH
     1       1        0.981124525388          1.513900654525
```

I'm an average chemist but where I learned things, bonds within water were on the order of 1 Å, not 1 nm. A manual fix would look like

```
[ settles ]
;i  funct   dOH  dHH
     1       1        0.0981124525388          0.1513900654525
```

This is present in version 0.3.3 and possibly earlier versions. This likely happens when using OpenFF inputs but likely does not happen if parsing GROMACS files directly.

This is not caught when running single-point energies since (at least in GROMACS) constraints are not applied at time zero.

Credit to @j-wags for doing the work of finding this.
diff --git a/docs/releasehistory.md b/docs/releasehistory.md
index 3ce436ec..9de8c93b 100644
--- a/docs/releasehistory.md
+++ b/docs/releasehistory.md
@@ -9,6 +9,12 @@ Releases follow versioning as described in
 
 Please note that all releases prior to a version 1.0.0 are considered pre-releases and many API changes will come before a stable release.
 
+## Current development
+
+### Bugfixes
+
+* #721 Fixes #720 in which units were not checked when writing `[ settles ]` in GROMACS files.
+
 ## 0.3.3 - 2023-05-08
 
 * #703 Clarifies the experimental state of some features, which require opt-in to use.
diff --git a/openff/interchange/_tests/unit_tests/interop/gromacs/export/test_export.py b/openff/interchange/_tests/unit_tests/interop/gromacs/export/test_export.py
index 861902b8..ebfe01e2 100644
--- a/openff/interchange/_tests/unit_tests/interop/gromacs/export/test_export.py
+++ b/openff/interchange/_tests/unit_tests/interop/gromacs/export/test_export.py
@@ -1,7 +1,10 @@
-from openff.toolkit import Molecule
+import pytest
+from openff.toolkit import ForceField, Molecule
+from openff.units import unit
 
 from openff.interchange import Interchange
 from openff.interchange._tests import _BaseTest
+from openff.interchange.interop.gromacs._import._import import from_files
 
 
 class TestToGro(_BaseTest):
@@ -21,3 +24,30 @@ class TestToGro(_BaseTest):
 
         for line in open("should_have_residue_names.gro").readlines()[2:-2]:
             assert line[5:10] == "LIG  "
+
+
+class TestSettles(_BaseTest):
+    def test_settles_units(self, monkeypatch):
+        """Reproduce issue #720."""
+        monkeypatch.setenv("INTERCHANGE_EXPERIMENTAL", "1")
+
+        molecule = Molecule.from_mapped_smiles("[H:2][O:1][H:3]")
+        molecule.generate_conformers(n_conformers=1)
+        molecule.name = "WAT"
+
+        ForceField("openff-2.1.0.offxml").create_interchange(
+            molecule.to_topology(),
+        ).to_gromacs(
+            prefix="settles",
+        )
+
+        system = from_files("settles.top", "settles.gro")
+
+        settles = system.molecule_types["WAT"].settles[0]
+
+        assert settles.oxygen_hydrogen_distance.m_as(unit.angstrom) == pytest.approx(
+            0.981124525388,
+        )
+        assert settles.hydrogen_hydrogen_distance.m_as(unit.angstrom) == pytest.approx(
+            1.513900654525,
+        )
diff --git a/openff/interchange/interop/gromacs/export/_export.py b/openff/interchange/interop/gromacs/export/_export.py
index 94350083..9abd32dc 100644
--- a/openff/interchange/interop/gromacs/export/_export.py
+++ b/openff/interchange/interop/gromacs/export/_export.py
@@ -243,8 +243,8 @@ class GROMACSWriter(DefaultModel):
             top.write(
                 f"{settle.first_atom :6d}\t"
                 f"{function :6d}\t"
-                f"{settle.oxygen_hydrogen_distance.m :20.12f}\t"
-                f"{settle.hydrogen_hydrogen_distance.m :20.12f}\n",
+                f"{settle.oxygen_hydrogen_distance.m_as(unit.nanometer) :20.12f}\t"
+                f"{settle.hydrogen_hydrogen_distance.m_as(unit.nanometer):20.12f}\n",
             )
 
         top.write("\n")
['openff/interchange/_tests/unit_tests/interop/gromacs/export/test_export.py', 'docs/releasehistory.md', 'openff/interchange/interop/gromacs/export/_export.py']