Yep exactly. S <: InputState[_] compiles nicely though, so we could use it?