public static (StoneStack bottom, StoneStack top) Split(StoneStack stack, int take) { var bottom = new StoneStack(stack.Take(stack.Count() - take)); var top = new StoneStack(stack.Take(take)); return(bottom, top); }