Finally found the reason that the Reaction check was not enforcing const (it was due to it being a reference type returned from the shared_ptrs)