
21 Nov
2020
21 Nov
'20
10:38 p.m.
Hi all, While there is a way to expand type synonyms in type errors (-fprint-expanded-synonyms), as far as I know, the same doesn't exist for type families. For example, the following type family Foo a where Foo Int = String type family Bar a :: Maybe (Foo Int) where Bar a = '() results in the error Expected kind `Maybe (Foo Int)', but '() has kind `()' where I'd like to see "Expected kind `Maybe String'". I'd be interested in trying my hand at implementing a way to see this, either by adding it to -fprint-expanded-synonyms, or as a new flag. Three questions: - Is there already a way to do this that I'm missing? - Are there reasons for why this would be a bad idea? - Would a proposal be necessary for this? Thanks, Jakob