using Beam.Abstractions; namespace Beam.Models { public class State(string[] state) : IState { string[] state = state; public string[] GetState() => state; public void SetState(string[] state) => this.state = state; public State Copy() => new((string[])state.Clone()); IReadOnlyState IReadOnlyState.Copy() => Copy(); IState IState.Copy() => Copy(); public string this[Index i] { get => state[i]; set => state[i] = value; } } }