include low, high, & dtype in spaces.Box.__repr__
diff --git a/gym/spaces/box.py b/gym/spaces/box.py
index bad74f7ac09..0f9f26f92ff 100644
--- a/gym/spaces/box.py
+++ b/gym/spaces/box.py
@@ -134,7 +134,7 @@ def from_jsonable(self, sample_n):
         return [np.asarray(sample) for sample in sample_n]
 
     def __repr__(self):
-        return "Box" + str(self.shape)
+        return "Box({}, {}, {}, {})".format(self.low.min(), self.high.max(), self.shape, self.dtype)
 
     def __eq__(self, other):
         return isinstance(other, Box) and (self.shape == other.shape) and np.allclose(self.low, other.low) and np.allclose(self.high, other.high)

multitask learners need a way to make a sensor for each space, and it's possible for two different Box spaces to have the same shape but different low/high/dtype, so this pull request just adds the minimum low value, maximum high value, and the dtype to `Box.__repr__` so we can use `str(box_space)` as a key in a ModuleDict of sensors (helps normalize inputs)