                             return unwrappedKey
 
 
+-- | Obtains a list of mechanism types supported by a token
 getMechanismList :: Library -> SlotId -> Int -> IO [Int]
 getMechanismList (Library _ functionListPtr) slotId maxMechanisms = do
     (rv, types) <- _getMechanismList functionListPtr slotId maxMechanisms

        else return $ map (fromIntegral) types


-- | Retrieves mechanism info
getMechanismInfo :: Library -> SlotId -> MechType -> IO MechInfo
getMechanismInfo (Library _ functionListPtr) slotId mechId = do
    (rv, types) <- _getMechanismInfo functionListPtr slotId (fromEnum mechId)

        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
