GHC этого не делает, и быстрый поиск Hackage ничего не дает.
Простой, но, возможно, довольно эффективный способ реализовать такую вещь - загрузить модуль в GHCi, использовать :browse
, чтобы получить все сигнатуры типов, затем загрузить копию без каких-либо сигнатур типов, снова использовать :browse
и сравните два выхода; затем просто напечатайте все строки, которые отличаются от скобок, пробелов и альфа-переименования. Однако это не будет работать идеально, особенно если у вас есть определения, типы которых не могут быть выведены.
У меня такое чувство, что такой инструмент может привести к множеству ложных срабатываний на практике.