diff --git a/System/Terminfo/Caps.hs b/System/Terminfo/Caps.hs
new file mode 100644
--- /dev/null
+++ b/System/Terminfo/Caps.hs
@@ -0,0 +1,519 @@
+-- | There is an egregious number of capabilities. They are sequestered in
+-- this module to preserve namespace sanity.
+--
+-- For descriptions of these, consult terminfo(5).
+
+module System.Terminfo.Caps (
+    -- * Boolean
+      BoolTermCap(..)
+    -- * Numeric
+    , NumTermCap(..)
+    -- * String
+    , StrTermCap(..)
+    ) where
+
+data BoolTermCap
+    = AutoLeftMargin
+    | AutoRightMargin
+    | NoEscCtlc
+    | CeolStandoutGlitch
+    | EatNewlineGlitch
+    | EraseOverstrike
+    | GenericType
+    | HardCopy
+    | HasMetaKey
+    | HasStatusLine
+    | InsertNullGlitch
+    | MemoryAbove
+    | MemoryBelow
+    | MoveInsertMode
+    | MoveStandoutMode
+    | OverStrike
+    | StatusLineEscOk
+    | DestTabsMagicSmso
+    | TildeGlitch
+    | TransparentUnderline
+    | XonXoff
+    | NeedsXonXoff
+    | PrtrSilent
+    | HardCursor
+    | NonRevRmcup
+    | NoPadChar
+    | NonDestScrollRegion
+    | CanChange
+    | BackColorErase
+    | HueLightnessSaturation
+    | ColAddrGlitch
+    | CrCancelsMicroMode
+    | HasPrintWheel
+    | RowAddrGlitch
+    | SemiAutoRightMargin
+    | CpiChangesRes
+    | LpiChangesRes
+    | BackspacesWithBs
+    | CrtNoScrolling
+    | NoCorrectlyWorkingCr
+    | GnuHasMetaKey
+    | LinefeedIsNewline
+    | HasHardwareTabs
+    | ReturnDoesClrEol
+    deriving (Ord, Eq, Enum, Bounded, Show)
+
+data NumTermCap
+    = Columns
+    | InitTabs
+    | Lines
+    | LinesOfMemory
+    | MagicCookieGlitch
+    | PaddingBaudRate
+    | VirtualTerminal
+    | WidthStatusLine
+    | NumLabels
+    | LabelHeight
+    | LabelWidth
+    | MaxAttributes
+    | MaximumWindows
+    | MaxColors
+    | MaxPairs
+    | NoColorVideo
+    | BufferCapacity
+    | DotVertSpacing
+    | DotHorzSpacing
+    | MaxMicroAddress
+    | MaxMicroJump
+    | MicroColSize
+    | MicroLineSize
+    | NumberOfPins
+    | OutputResChar
+    | OutputResLine
+    | OutputResHorzInch
+    | OutputResVertInch
+    | PrintRate
+    | WideCharSize
+    | Buttons
+    | BitImageEntwining
+    | BitImageType
+    | MagicCookieGlitchUl
+    | CarriageReturnDelay
+    | NewLineDelay
+    | BackspaceDelay
+    | HorizontalTabDelay
+    | NumberOfFunctionKeys
+    deriving (Ord, Eq, Enum, Bounded, Show)
+
+data StrTermCap
+    = BackTab
+    | Bell
+    | CarriageReturn
+    | ChangeScrollRegion
+    | ClearAllTabs
+    | ClearScreen
+    | ClrEol
+    | ClrEos
+    | ColumnAddress
+    | CommandCharacter
+    | CursorAddress
+    | CursorDown
+    | CursorHome
+    | CursorInvisible
+    | CursorLeft
+    | CursorMemAddress
+    | CursorNormal
+    | CursorRight
+    | CursorToLl
+    | CursorUp
+    | CursorVisible
+    | DeleteCharacter
+    | DeleteLine
+    | DisStatusLine
+    | DownHalfLine
+    | EnterAltCharsetMode
+    | EnterBlinkMode
+    | EnterBoldMode
+    | EnterCaMode
+    | EnterDeleteMode
+    | EnterDimMode
+    | EnterInsertMode
+    | EnterSecureMode
+    | EnterProtectedMode
+    | EnterReverseMode
+    | EnterStandoutMode
+    | EnterUnderlineMode
+    | EraseChars
+    | ExitAltCharsetMode
+    | ExitAttributeMode
+    | ExitCaMode
+    | ExitDeleteMode
+    | ExitInsertMode
+    | ExitStandoutMode
+    | ExitUnderlineMode
+    | FlashScreen
+    | FormFeed
+    | FromStatusLine
+    | Init1string
+    | Init2string
+    | Init3string
+    | InitFile
+    | InsertCharacter
+    | InsertLine
+    | InsertPadding
+    | KeyBackspace
+    | KeyCatab
+    | KeyClear
+    | KeyCtab
+    | KeyDc
+    | KeyDl
+    | KeyDown
+    | KeyEic
+    | KeyEol
+    | KeyEos
+    | KeyF0
+    | KeyF1
+    | KeyF10
+    | KeyF2
+    | KeyF3
+    | KeyF4
+    | KeyF5
+    | KeyF6
+    | KeyF7
+    | KeyF8
+    | KeyF9
+    | KeyHome
+    | KeyIc
+    | KeyIl
+    | KeyLeft
+    | KeyLl
+    | KeyNpage
+    | KeyPpage
+    | KeyRight
+    | KeySf
+    | KeySr
+    | KeyStab
+    | KeyUp
+    | KeypadLocal
+    | KeypadXmit
+    | LabF0
+    | LabF1
+    | LabF10
+    | LabF2
+    | LabF3
+    | LabF4
+    | LabF5
+    | LabF6
+    | LabF7
+    | LabF8
+    | LabF9
+    | MetaOff
+    | MetaOn
+    | Newline
+    | PadChar
+    | ParmDch
+    | ParmDeleteLine
+    | ParmDownCursor
+    | ParmIch
+    | ParmIndex
+    | ParmInsertLine
+    | ParmLeftCursor
+    | ParmRightCursor
+    | ParmRindex
+    | ParmUpCursor
+    | PkeyKey
+    | PkeyLocal
+    | PkeyXmit
+    | PrintScreen
+    | PrtrOff
+    | PrtrOn
+    | RepeatChar
+    | Reset1string
+    | Reset2string
+    | Reset3string
+    | ResetFile
+    | RestoreCursor
+    | RowAddress
+    | SaveCursor
+    | ScrollForward
+    | ScrollReverse
+    | SetAttributes
+    | SetTab
+    | SetWindow
+    | Tab
+    | ToStatusLine
+    | UnderlineChar
+    | UpHalfLine
+    | InitProg
+    | KeyA1
+    | KeyA3
+    | KeyB2
+    | KeyC1
+    | KeyC3
+    | PrtrNon
+    | CharPadding
+    | AcsChars
+    | PlabNorm
+    | KeyBtab
+    | EnterXonMode
+    | ExitXonMode
+    | EnterAmMode
+    | ExitAmMode
+    | XonCharacter
+    | XoffCharacter
+    | EnaAcs
+    | LabelOn
+    | LabelOff
+    | KeyBeg
+    | KeyCancel
+    | KeyClose
+    | KeyCommand
+    | KeyCopy
+    | KeyCreate
+    | KeyEnd
+    | KeyEnter
+    | KeyExit
+    | KeyFind
+    | KeyHelp
+    | KeyMark
+    | KeyMessage
+    | KeyMove
+    | KeyNext
+    | KeyOpen
+    | KeyOptions
+    | KeyPrevious
+    | KeyPrint
+    | KeyRedo
+    | KeyReference
+    | KeyRefresh
+    | KeyReplace
+    | KeyRestart
+    | KeyResume
+    | KeySave
+    | KeySuspend
+    | KeyUndo
+    | KeySbeg
+    | KeyScancel
+    | KeyScommand
+    | KeyScopy
+    | KeyScreate
+    | KeySdc
+    | KeySdl
+    | KeySelect
+    | KeySend
+    | KeySeol
+    | KeySexit
+    | KeySfind
+    | KeyShelp
+    | KeyShome
+    | KeySic
+    | KeySleft
+    | KeySmessage
+    | KeySmove
+    | KeySnext
+    | KeySoptions
+    | KeySprevious
+    | KeySprint
+    | KeySredo
+    | KeySreplace
+    | KeySright
+    | KeySrsume
+    | KeySsave
+    | KeySsuspend
+    | KeySundo
+    | ReqForInput
+    | KeyF11
+    | KeyF12
+    | KeyF13
+    | KeyF14
+    | KeyF15
+    | KeyF16
+    | KeyF17
+    | KeyF18
+    | KeyF19
+    | KeyF20
+    | KeyF21
+    | KeyF22
+    | KeyF23
+    | KeyF24
+    | KeyF25
+    | KeyF26
+    | KeyF27
+    | KeyF28
+    | KeyF29
+    | KeyF30
+    | KeyF31
+    | KeyF32
+    | KeyF33
+    | KeyF34
+    | KeyF35
+    | KeyF36
+    | KeyF37
+    | KeyF38
+    | KeyF39
+    | KeyF40
+    | KeyF41
+    | KeyF42
+    | KeyF43
+    | KeyF44
+    | KeyF45
+    | KeyF46
+    | KeyF47
+    | KeyF48
+    | KeyF49
+    | KeyF50
+    | KeyF51
+    | KeyF52
+    | KeyF53
+    | KeyF54
+    | KeyF55
+    | KeyF56
+    | KeyF57
+    | KeyF58
+    | KeyF59
+    | KeyF60
+    | KeyF61
+    | KeyF62
+    | KeyF63
+    | ClrBol
+    | ClearMargins
+    | SetLeftMargin
+    | SetRightMargin
+    | LabelFormat
+    | SetClock
+    | DisplayClock
+    | RemoveClock
+    | CreateWindow
+    | GotoWindow
+    | Hangup
+    | DialPhone
+    | QuickDial
+    | Tone
+    | Pulse
+    | FlashHook
+    | FixedPause
+    | WaitTone
+    | User0
+    | User1
+    | User2
+    | User3
+    | User4
+    | User5
+    | User6
+    | User7
+    | User8
+    | User9
+    | OrigPair
+    | OrigColors
+    | InitializeColor
+    | InitializePair
+    | SetColorPair
+    | SetForeground
+    | SetBackground
+    | ChangeCharPitch
+    | ChangeLinePitch
+    | ChangeResHorz
+    | ChangeResVert
+    | DefineChar
+    | EnterDoublewideMode
+    | EnterDraftQuality
+    | EnterItalicsMode
+    | EnterLeftwardMode
+    | EnterMicroMode
+    | EnterNearLetterQuality
+    | EnterNormalQuality
+    | EnterShadowMode
+    | EnterSubscriptMode
+    | EnterSuperscriptMode
+    | EnterUpwardMode
+    | ExitDoublewideMode
+    | ExitItalicsMode
+    | ExitLeftwardMode
+    | ExitMicroMode
+    | ExitShadowMode
+    | ExitSubscriptMode
+    | ExitSuperscriptMode
+    | ExitUpwardMode
+    | MicroColumnAddress
+    | MicroDown
+    | MicroLeft
+    | MicroRight
+    | MicroRowAddress
+    | MicroUp
+    | OrderOfPins
+    | ParmDownMicro
+    | ParmLeftMicro
+    | ParmRightMicro
+    | ParmUpMicro
+    | SelectCharSet
+    | SetBottomMargin
+    | SetBottomMarginParm
+    | SetLeftMarginParm
+    | SetRightMarginParm
+    | SetTopMargin
+    | SetTopMarginParm
+    | StartBitImage
+    | StartCharSetDef
+    | StopBitImage
+    | StopCharSetDef
+    | SubscriptCharacters
+    | SuperscriptCharacters
+    | TheseCauseCr
+    | ZeroMotion
+    | CharSetNames
+    | KeyMouse
+    | MouseInfo
+    | ReqMousePos
+    | GetMouse
+    | SetAForeground
+    | SetABackground
+    | PkeyPlab
+    | DeviceType
+    | CodeSetInit
+    | Set0DesSeq
+    | Set1DesSeq
+    | Set2DesSeq
+    | Set3DesSeq
+    | SetLrMargin
+    | SetTbMargin
+    | BitImageRepeat
+    | BitImageNewline
+    | BitImageCarriageReturn
+    | ColorNames
+    | DefineBitImageRegion
+    | EndBitImageRegion
+    | SetColorBand
+    | SetPageLength
+    | DisplayPcChar
+    | EnterPcCharsetMode
+    | ExitPcCharsetMode
+    | EnterScancodeMode
+    | ExitScancodeMode
+    | PcTermOptions
+    | ScancodeEscape
+    | AltScancodeEsc
+    | EnterHorizontalHlMode
+    | EnterLeftHlMode
+    | EnterLowHlMode
+    | EnterRightHlMode
+    | EnterTopHlMode
+    | EnterVerticalHlMode
+    | SetAAttributes
+    | SetPglenInch
+    | TermcapInit2
+    | TermcapReset
+    | LinefeedIfNotLf
+    | BackspaceIfNotBs
+    | OtherNonFunctionKeys
+    | ArrowKeyMap
+    | AcsUlcorner
+    | AcsLlcorner
+    | AcsUrcorner
+    | AcsLrcorner
+    | AcsLtee
+    | AcsRtee
+    | AcsBtee
+    | AcsTtee
+    | AcsHline
+    | AcsVline
+    | AcsPlus
+    | MemoryLock
+    | MemoryUnlock
+    | BoxChars1
+    deriving (Ord, Eq, Enum, Bounded, Show)
diff --git a/System/Terminfo/Internal.hs b/System/Terminfo/Internal.hs
--- a/System/Terminfo/Internal.hs
+++ b/System/Terminfo/Internal.hs
@@ -1,6 +1,7 @@
 module System.Terminfo.Internal
     ( terminfoDBLocs
     , locationsPure
+    , parseTDVar
     ) where
 
 import Control.Applicative ((<$>), (<*>), pure)
diff --git a/terminfo-hs.cabal b/terminfo-hs.cabal
--- a/terminfo-hs.cabal
+++ b/terminfo-hs.cabal
@@ -1,5 +1,5 @@
 name:                terminfo-hs
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            A pure-Haskell (no FFI) module for accessing terminfo databases
 description:         This module can acquire terminfo databases and query
                      them for terminal capabilities. For details of
@@ -25,12 +25,12 @@
 
 source-repository this
   type: git
-  tag: 0.1.0.0
+  tag: 0.1.0.1
   location: https://github.com/chreekat/terminfo-hs/tree/0.1.0.0
 
 library
   ghc-options:         -Wall
-  exposed-modules:     System.Terminfo
+  exposed-modules:     System.Terminfo, System.Terminfo.Caps
   other-modules:       System.Terminfo.DBParse,
                        System.Terminfo.Types
                        System.Terminfo.Internal
