I use the InputState portion further down in the Summer class now for fan out. I could put S in the type parameter of Summer to be S <: InputState[_] ?