getTypeName'' :: DexFile -> TypeId -> PP.Doc
getTypeName'' dex tid =
  maybe msg (pSDI . tailSDI) $ getTypeName dex tid
    where tailSDI = BS.map slashToDot . BS.init . BS.tail
          slashToDot '/' = '.'
          slashToDot '$' = '.'
          slashToDot c = c
          msg = "<unknown type ID: " <> word16HexFixed tid <> ">"
getTypeName'' :: DexFile -> TypeId -> PP.Doc
getTypeName'' dex tid =
  maybe msg (pSDI . tailSDI) $ getTypeName dex tid
    where tailSDI = BS.map slashToDot . BS.init . BS.tail
          slashToDot '/' = '.'
          slashToDot '$' = '.'
          slashToDot c = c
          msg = "<unknown type ID: " <> word16HexFixed tid <> ">"
getTypeName'' dex tid =
  maybe msg (pSDI . tailSDI) $ getTypeName dex tid
    where tailSDI = BS.map slashToDot . BS.init . BS.tail
          slashToDot '/' = '.'
          slashToDot '$' = '.'
          slashToDot c = c
          msg = "<unknown type ID: " <> word16HexFixed tid <> ">"