module Data.Char.Properties.BidiBrackets where
data Type = O | C
paired :: Char -> Maybe (Char, Type)
paired = \ case
    '(' -> Just ('(', O)
    ')' -> Just (')', C)
    '[' -> Just ('[', O)
    ']' -> Just (']', C)
    '{' -> Just ('{', O)
    '}' -> Just ('}', C)
    '\3898' -> Just ('\3898', O)
    '\3899' -> Just ('\3899', C)
    '\3900' -> Just ('\3900', O)
    '\3901' -> Just ('\3901', C)
    '\5787' -> Just ('\5787', O)
    '\5788' -> Just ('\5788', C)
    '\8261' -> Just ('\8261', O)
    '\8262' -> Just ('\8262', C)
    '\8317' -> Just ('\8317', O)
    '\8318' -> Just ('\8318', C)
    '\8333' -> Just ('\8333', O)
    '\8334' -> Just ('\8334', C)
    '\8968' -> Just ('\8968', O)
    '\8969' -> Just ('\8969', C)
    '\8970' -> Just ('\8970', O)
    '\8971' -> Just ('\8971', C)
    '\9001' -> Just ('\9001', O)
    '\9002' -> Just ('\9002', C)
    '\10088' -> Just ('\10088', O)
    '\10089' -> Just ('\10089', C)
    '\10090' -> Just ('\10090', O)
    '\10091' -> Just ('\10091', C)
    '\10092' -> Just ('\10092', O)
    '\10093' -> Just ('\10093', C)
    '\10094' -> Just ('\10094', O)
    '\10095' -> Just ('\10095', C)
    '\10096' -> Just ('\10096', O)
    '\10097' -> Just ('\10097', C)
    '\10098' -> Just ('\10098', O)
    '\10099' -> Just ('\10099', C)
    '\10100' -> Just ('\10100', O)
    '\10101' -> Just ('\10101', C)
    '\10181' -> Just ('\10181', O)
    '\10182' -> Just ('\10182', C)
    '\10214' -> Just ('\10214', O)
    '\10215' -> Just ('\10215', C)
    '\10216' -> Just ('\10216', O)
    '\10217' -> Just ('\10217', C)
    '\10218' -> Just ('\10218', O)
    '\10219' -> Just ('\10219', C)
    '\10220' -> Just ('\10220', O)
    '\10221' -> Just ('\10221', C)
    '\10222' -> Just ('\10222', O)
    '\10223' -> Just ('\10223', C)
    '\10627' -> Just ('\10627', O)
    '\10628' -> Just ('\10628', C)
    '\10629' -> Just ('\10629', O)
    '\10630' -> Just ('\10630', C)
    '\10631' -> Just ('\10631', O)
    '\10632' -> Just ('\10632', C)
    '\10633' -> Just ('\10633', O)
    '\10634' -> Just ('\10634', C)
    '\10635' -> Just ('\10635', O)
    '\10636' -> Just ('\10636', C)
    '\10637' -> Just ('\10637', O)
    '\10638' -> Just ('\10638', C)
    '\10639' -> Just ('\10639', O)
    '\10640' -> Just ('\10640', C)
    '\10641' -> Just ('\10641', O)
    '\10642' -> Just ('\10642', C)
    '\10643' -> Just ('\10643', O)
    '\10644' -> Just ('\10644', C)
    '\10645' -> Just ('\10645', O)
    '\10646' -> Just ('\10646', C)
    '\10647' -> Just ('\10647', O)
    '\10648' -> Just ('\10648', C)
    '\10712' -> Just ('\10712', O)
    '\10713' -> Just ('\10713', C)
    '\10714' -> Just ('\10714', O)
    '\10715' -> Just ('\10715', C)
    '\10748' -> Just ('\10748', O)
    '\10749' -> Just ('\10749', C)
    '\11810' -> Just ('\11810', O)
    '\11811' -> Just ('\11811', C)
    '\11812' -> Just ('\11812', O)
    '\11813' -> Just ('\11813', C)
    '\11814' -> Just ('\11814', O)
    '\11815' -> Just ('\11815', C)
    '\11816' -> Just ('\11816', O)
    '\11817' -> Just ('\11817', C)
    '\12296' -> Just ('\12296', O)
    '\12297' -> Just ('\12297', C)
    '\12298' -> Just ('\12298', O)
    '\12299' -> Just ('\12299', C)
    '\12300' -> Just ('\12300', O)
    '\12301' -> Just ('\12301', C)
    '\12302' -> Just ('\12302', O)
    '\12303' -> Just ('\12303', C)
    '\12304' -> Just ('\12304', O)
    '\12305' -> Just ('\12305', C)
    '\12308' -> Just ('\12308', O)
    '\12309' -> Just ('\12309', C)
    '\12310' -> Just ('\12310', O)
    '\12311' -> Just ('\12311', C)
    '\12312' -> Just ('\12312', O)
    '\12313' -> Just ('\12313', C)
    '\12314' -> Just ('\12314', O)
    '\12315' -> Just ('\12315', C)
    '\65113' -> Just ('\65113', O)
    '\65114' -> Just ('\65114', C)
    '\65115' -> Just ('\65115', O)
    '\65116' -> Just ('\65116', C)
    '\65117' -> Just ('\65117', O)
    '\65118' -> Just ('\65118', C)
    '\65288' -> Just ('\65288', O)
    '\65289' -> Just ('\65289', C)
    '\65339' -> Just ('\65339', O)
    '\65341' -> Just ('\65341', C)
    '\65371' -> Just ('\65371', O)
    '\65373' -> Just ('\65373', C)
    '\65375' -> Just ('\65375', O)
    '\65376' -> Just ('\65376', C)
    '\65378' -> Just ('\65378', O)
    '\65379' -> Just ('\65379', C)
    _ -> Nothing