Can't parse/understand the following types items: * Code that doesn't compile/type-check/etc.; haskell-src-exts won't understand them. * Modules using CPP. * HaRP usage. * Template Haskell * Haskell Source with XML/Haskell Server Pages-style embedded XML * Data Family instances (both normal and GADT) don't have their constructors/records added as it isn't obvious how to go from the type to a name of the type. * FFI imports/exports are ignored. * Pragmas are ignored. Possible parsing problems with the following items: * Modules not within the given project; if an explicit import is used, then the entitys are guessed at (can't always categorise function types, etc.). * When using record puns, it is not always possible to distinguish between the records and punned values. * When using record wildcards, not all records are completely listed/used as both record functions and variables (see the problem with record puns above). * When considering instances of a class, it doesn't deal well with multi-param type classes, etc. in that it assumes the first type mentioned is the type that the instance is for. This is mainly for creating virtual functions for the instances. * Language options specified in the Cabal file. * If a datatype or class is re-exported from another module, then this won't be picked up.