diff --git a/haskell-src-exts.cabal b/haskell-src-exts.cabal
--- a/haskell-src-exts.cabal
+++ b/haskell-src-exts.cabal
@@ -1,5 +1,5 @@
 Name:                   haskell-src-exts
-Version:                1.3.5
+Version:                1.4.0
 License:                BSD3
 License-File:           LICENSE
 Author:                 Niklas Broberg
diff --git a/src/Language/Haskell/Exts/Annotated/Simplify.hs b/src/Language/Haskell/Exts/Annotated/Simplify.hs
--- a/src/Language/Haskell/Exts/Annotated/Simplify.hs
+++ b/src/Language/Haskell/Exts/Annotated/Simplify.hs
@@ -363,7 +363,7 @@
     CorePragma _ str e  -> S.CorePragma str (sExp e)
     SCCPragma  _ str e  -> S.SCCPragma  str (sExp e)
     GenPragma  _ str i12 i34 e  -> S.GenPragma str i12 i34 (sExp e)
-    Proc            _ p  e  -> S.Proc (sPat p) (sExp e)
+    Proc            l p  e  -> S.Proc (getPointLoc l) (sPat p) (sExp e)
     LeftArrApp      _ e1 e2 -> S.LeftArrApp (sExp e1) (sExp e2)
     RightArrApp     _ e1 e2 -> S.RightArrApp (sExp e1) (sExp e2)
     LeftArrHighApp  _ e1 e2 -> S.LeftArrHighApp (sExp e1) (sExp e2)
diff --git a/src/Language/Haskell/Exts/Fixity.hs b/src/Language/Haskell/Exts/Fixity.hs
--- a/src/Language/Haskell/Exts/Fixity.hs
+++ b/src/Language/Haskell/Exts/Fixity.hs
@@ -336,7 +336,7 @@
     XTag loc n ats mexp cs  -> XTag loc n (map fix ats) (fmap fix mexp) (map fix cs)
     XETag loc n ats mexp    -> XETag loc n (map fix ats) (fmap fix mexp)
     XExpTag e               -> XExpTag $ fix e
-    Proc p e                -> Proc (fix p) (fix e)
+    Proc loc p e            -> Proc loc (fix p) (fix e)
     LeftArrApp e1 e2        -> LeftArrApp (fix e1) (fix e2)
     RightArrApp e1 e2       -> RightArrApp (fix e1) (fix e2)
     LeftArrHighApp e1 e2    -> LeftArrHighApp (fix e1) (fix e2)
diff --git a/src/Language/Haskell/Exts/Pretty.hs b/src/Language/Haskell/Exts/Pretty.hs
--- a/src/Language/Haskell/Exts/Pretty.hs
+++ b/src/Language/Haskell/Exts/Pretty.hs
@@ -840,7 +840,7 @@
                             int a, char ':', int b, char '-',
                             int c, char ':', int d, text "#-}", pretty e]
         -- Arrows
-        pretty (Proc p e) = myFsep $ [text "proc", pretty p, text "->", pretty e]
+        pretty (Proc _ p e) = myFsep $ [text "proc", pretty p, text "->", pretty e]
         pretty (LeftArrApp l r)      = myFsep $ [pretty l, text "-<",  pretty r]
         pretty (RightArrApp l r)     = myFsep $ [pretty l, text ">-",  pretty r]
         pretty (LeftArrHighApp l r)  = myFsep $ [pretty l, text "-<<", pretty r]
@@ -1066,7 +1066,7 @@
         pretty (ConName n) = pretty n
 
 instance Pretty SpecialCon where
-	pretty sc = text $ specialName sc
+        pretty sc = text $ specialName sc
 
 isSymbolName :: Name -> Bool
 isSymbolName (Symbol _) = True
diff --git a/src/Language/Haskell/Exts/Syntax.hs b/src/Language/Haskell/Exts/Syntax.hs
--- a/src/Language/Haskell/Exts/Syntax.hs
+++ b/src/Language/Haskell/Exts/Syntax.hs
@@ -653,7 +653,7 @@
                                         -- ^ GENERATED pragma
 
 -- Arrows
-    | Proc            Pat Exp   -- ^ arrows proc: @proc@ /pat/ @->@ /exp/
+    | Proc SrcLoc     Pat Exp   -- ^ arrows proc: @proc@ /pat/ @->@ /exp/
     | LeftArrApp      Exp Exp   -- ^ arrow application (from left): /exp/ @-<@ /exp/
     | RightArrApp     Exp Exp   -- ^ arrow application (from right): /exp/ @>-@ /exp/
     | LeftArrHighApp  Exp Exp   -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/
