In my eyes, one of the most important use of type-signatures-for-everything (apart from a welcome uniformity), is the will to deprecate `*` in favour of `Type`. That is because, in practice, I always use `*` in CUSKS (of which I use a lot!), as with `Type`, they would become immensely crowded and, to me at least, barely readable. In short: to me type-signatures-for-everything is the one blocker for deprecating `*`.

So let's look at this proposal through the lens of this use-case:

- Associated type declaration are already kind of type signature assignments.
- Except only partial, as some of the variables will be to the left of the type families
- But these extra variables are already mentioned in the type class, where their type can be specified. In particular by a kind signature!

So do I need to write `(Type -> Type) -> Type` near a type variable? No, I don't.

I guess I'm in favour, then.

On Fri, Sep 6, 2019 at 11:44 PM Iavor Diatchki <iavor.diatchki@gmail.com> wrote:
Yeah, seems reasonable to me as well.

On Fri, Sep 6, 2019 at 2:41 PM Joachim Breitner
<mail@joachim-breitner.de> wrote:
>
> Hi,
>
> Am Freitag, den 06.09.2019, 16:42 +0000 schrieb Simon Peyton Jones via
> ghc-steering-committee:
> > So making them illegal now keeps our options open for the future.
>
> compelling argument, am in favor :-)
>
> Cheers,
> Joachim
> --
> Joachim Breitner
>   mail@joachim-breitner.de
>   http://www.joachim-breitner.de/
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee@haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________
ghc-steering-committee mailing list
ghc-steering-committee@haskell.org
https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee