verify

fun <ID, V : Value<ID, V, S>, S : State<ID, V, S>> verify(head: S): Result<Set<State<ID, V, S>>>

Check your state machine covers all subtypes