diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,11 @@
+0.13.0
+------
+* Add 'symbolicPathListToFilePathList' iso to convert between [SymbolicPath] and [FilePath]
+
+0.12.0
+------
+* Support Cabal 3.12
+
 0.11.0
 ------
 * Support Cabal 3.6.3
diff --git a/cabal-lenses.cabal b/cabal-lenses.cabal
--- a/cabal-lenses.cabal
+++ b/cabal-lenses.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10.0
 name:               cabal-lenses
-version:            0.12.0
+version:            0.13.0
 license:            BSD3
 license-file:       LICENSE
 maintainer:         daniel.trstenjak@gmail.com
diff --git a/lib/CabalLenses/Utils.hs b/lib/CabalLenses/Utils.hs
--- a/lib/CabalLenses/Utils.hs
+++ b/lib/CabalLenses/Utils.hs
@@ -5,17 +5,20 @@
    , findPackageDB
    , findDistDir
    , findNewDistDir
+   , symbolicPathListToFilePathList
    ) where
 
 import Control.Monad.Trans.Except (ExceptT, throwE)
 import Control.Monad.IO.Class
 import Control.Monad (filterM)
+import Control.Lens (Iso', iso)
 import qualified System.IO.Strict as Strict
 import qualified Filesystem.Path.CurrentOS as FP
 import Filesystem.Path.CurrentOS ((</>))
 import qualified Filesystem as FS
 import qualified Data.List as L
 import qualified Data.Text as T
+import Distribution.Utils.Path (SymbolicPath, getSymbolicPath, unsafeMakeSymbolicPath, PackageDir, SourceDir)
 
 #if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
@@ -128,3 +131,13 @@
 
 absoluteFile :: FilePath -> IO FP.FilePath
 absoluteFile = FS.canonicalizePath . FP.decodeString
+
+
+symbolicPathListToFilePathList :: Iso' [SymbolicPath PackageDir SourceDir] [FilePath]
+symbolicPathListToFilePathList = iso toFilePathList fromFilePathList
+   where
+      toFilePathList :: [SymbolicPath PackageDir SourceDir] -> [FilePath]
+      toFilePathList symPathList = map getSymbolicPath symPathList
+
+      fromFilePathList :: [FilePath] -> [SymbolicPath PackageDir SourceDir]
+      fromFilePathList strList   = map unsafeMakeSymbolicPath strList
