def METHOD_NAME(
    vstate: FullSumState,
    Ô: DiscreteOperator,
    *,
    mutable: CollectionFilter,
) -> tuple[Stats, PyTree]:
    if isinstance(Ô, Squared):
        raise NotImplementedError("expect_and_forces not yet implemented for `Squared`")
    _check_hilbert(vstate, Ô)
    O = sparsify(Ô)
    Ψ = vstate.to_array()
    OΨ = O @ Ψ
    expval_O, Ō_grad, new_model_state = _exp_forces(
        vstate._apply_fun,
        mutable,
        vstate.parameters,
        vstate.model_state,
        vstate._all_states,
        OΨ,
        Ψ,
    )
    if mutable is not False:
        vstate.model_state = new_model_state
    return expval_O, Ō_grad