         else return $ map (fromIntegral) slots
 
 
+-- | Obtains information about a particular slot in the system
+--
+-- > slotInfo <- getSlotInfo lib slotId
 getSlotInfo :: Library -> SlotId -> IO SlotInfo
 getSlotInfo (Library _ functionListPtr) slotId = do
     (rv, slotInfo) <- getSlotInfo' functionListPtr slotId

data SlotInfo = SlotInfo {
    slotInfoDescription :: String,
    slotInfoManufacturerId :: String,
    slotInfoFlags :: Int,
    slotInfoHardwareVersion :: Version,
    slotInfoFirmwareVersion :: Version

        else return $ map (fromIntegral) types


-- | Obtains information about a particular mechanism possibly supported by a token
getMechanismInfo :: Library -> SlotId -> MechType -> IO MechInfo
getMechanismInfo (Library _ functionListPtr) slotId mechId = do
    (rv, types) <- _getMechanismInfo functionListPtr slotId (fromEnum mechId)
