Changed order of run return type of State from P<A, S> to P<S, A> to match class generic types