diff --git a/System/Process/Common.hs b/System/Process/Common.hs
index fe3cebc4cf75a4bb066bf81fcb731a471632ade1..031a4256a808f2fecfbfada4e6e1a3507ef8f1ba 100644
--- a/System/Process/Common.hs
+++ b/System/Process/Common.hs
@@ -189,6 +189,15 @@ data StdStream
 -- ----------------------------------------------------------------------------
 -- ProcessHandle type
 
+data ProcessHandle__ = OpenHandle { phdlProcessHandle :: PHANDLE }
+                     | OpenExtHandle { phdlProcessHandle :: PHANDLE
+                                     -- ^ the process
+                                     , phdlJobHandle     :: PHANDLE
+                                     -- ^ the job containing the process and
+                                     -- its subprocesses
+                                     }
+                     | ClosedHandle ExitCode
+
 {- | A handle to a process, which can be used to wait for termination
      of the process using 'System.Process.waitForProcess'.
 
@@ -200,14 +209,6 @@ data StdStream
      completion. This requires two handles. A process job handle and
      a events handle to monitor.
 -}
-data ProcessHandle__ = OpenHandle { phdlProcessHandle :: PHANDLE }
-                     | OpenExtHandle { phdlProcessHandle :: PHANDLE
-                                     -- ^ the process
-                                     , phdlJobHandle     :: PHANDLE
-                                     -- ^ the job containing the process and
-                                     -- its subprocesses
-                                     }
-                     | ClosedHandle ExitCode
 data ProcessHandle
   = ProcessHandle { phandle          :: !(MVar ProcessHandle__)
                   , mb_delegate_ctlc :: !Bool