{-# htermination readParen :: Read a => Bool -> (String -> [(a,String)]) -> (String -> [(a,String)]) #-}