id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
3714	Distinguish type parameters from indices	simonpj	chak	"Martijn van Steenbergen pointed out this program:
{{{
{-# LANGUAGE TypeFamilies #-}

module M where

-- Accepted
type family T1 f e :: *
class C1 f where
  op1 :: T1 f e -> Either e a

-- Rejected
class C2 f where
  type T2 f e :: *
  op2 :: T2 f e -> Either e a
}}}
At the moment (HEAD) the C1/T1 version is accepted but the C2/T2 declarations are rejected:
{{{
TF.hs:12:3: Not in scope: type variable `e'
}}}
I think this is just a bug.

Simon"	feature request	closed	normal	7.4.1	Compiler	6.10.4	fixed		martijn@…	Unknown/Multiple	Unknown/Multiple	None/Unknown					
