- Lower and upper bounds should be type refs - Type parameters can be constrained by context bounds/implicit parameters