public static Shot?ReadShot(this IReadWrite io, string prompt) { while (true) { if (io.TryReadInteger(prompt, out var value) && Shot.TryGet(value, out var shot)) { return(shot); } io.Write("Incorrect answer. Retype it. "); } }