pub fn write_sync<S, A, E, F>(
    s: &OptionalCell<S>,
    interaction: JsValue,
    write_contract_method: F
) -> JsValuewhere
    S: Clone + Debug + Serialize,
    A: DeserializeOwned + Debug,
    E: Serialize,
    F: FnOnce(S, A) -> WriteResult<S, E>,