diff --git a/clang-pure.cabal b/clang-pure.cabal
--- a/clang-pure.cabal
+++ b/clang-pure.cabal
@@ -1,5 +1,5 @@
 name:                  clang-pure
-version:               0.2.0.3
+version:               0.2.0.4
 synopsis:              Pure C++ code analysis with libclang
 description:
   Pure C++ code analysis with libclang.
@@ -13,7 +13,7 @@
 copyright:             Copyright 2014 Google Inc. All Rights Reserved.
 category:              Language
 build-type:            Custom
-cabal-version:         >=1.24
+cabal-version:         1.24
 extra-source-files:    cbits/clang-pure-utils.h
 
 custom-setup
diff --git a/src/Language/C/Clang/Internal/FFI.hsc b/src/Language/C/Clang/Internal/FFI.hsc
--- a/src/Language/C/Clang/Internal/FFI.hsc
+++ b/src/Language/C/Clang/Internal/FFI.hsc
@@ -493,6 +493,21 @@
     then return Nothing
     else (Just . Type) <$> newLeaf (parent t) (\_ -> return ( etp, free etp ))
 
+typePointeeType :: Type -> Maybe Type
+typePointeeType t = uderef t $ \tp -> do
+  etp <- [C.block| CXType* {
+    CXType type = clang_getPointeeType(*$(CXType *tp));
+
+    if (type.kind == CXType_Invalid) {
+      return NULL;
+    }
+
+    return ALLOC(type);
+    } |]
+  if etp == nullPtr
+    then return Nothing
+    else (Just . Type) <$> newLeaf (parent t) (\_ -> return ( etp, free etp ))
+
 typeKind :: Type -> TypeKind
 typeKind t = uderef t $ fmap parseTypeKind . #peek CXType, kind
 
diff --git a/src/Language/C/Clang/Type.hs b/src/Language/C/Clang/Type.hs
--- a/src/Language/C/Clang/Type.hs
+++ b/src/Language/C/Clang/Type.hs
@@ -19,6 +19,7 @@
   , typeArraySize
   , typeCanonicalType
   , typeElementType
+  , typePointeeType
   , typeSizeOf
   , typeSpelling
   , typeKind
