IPG through the ages

For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

A history of Magic: the Gathering penalty guidelines

This document provides a list of important changes to the Magic Infraction Procedure Guide (IPG) and its predecessor documents, in text form and in diagram form. I also provide personal commentary and historical context on both individual changes and on trends. (10,000 words)

(A Google Docs version is also available, but it lacks errata.)

Prelude

Here’s some interesting stuff before we begin with the nitty-gritty:

  • Unsporting Conduct — Minor is the oldest infraction that’s still in effect under the same name and with the same substance, essentially unchanged since 2000.
  • There have been a total of 85 infractions in the document. Of those, 23 are present in the current IPG.
  • There was a time when the IPG’s predecessor handled 5 REL’s and 6 card games.

Table of contents

The first part is a list of important changes in each version of the IPG (and its predecessor documents, I will refer to them collectively as the IPG), in text form. I omit changes that don’t actually affect policy, such as clarifications, and I omit many details of implementation, especially when a large change completely rewrites a section of the document. I also comment some of these changes.

The second part is better viewed in a separate browser tab, as a full-size image. It’s a diagram that shows how individual infractions were created, removed, merged or split over time, and how the penalties for these infractions changed. Some of these changes are explained in the first part as well, but many aren’t.

The third part is my personal commentary on trends and major changes in the document. It is written as a readable essay so if you don’t like technical history, then, a) why are you here? ^^ and b) this is the part you want to read after looking at the diagram in the second part.

You can download most of the documents that I discuss here on my personal website.

Part 1: List of changes to the IPG in text form

For each version of the IPG or a predecessor document, from 2000 up to January 2018, I give the list of changes in that document.

  • Underlined title changes are major rewrites of a section, massive changes in philosophy, or announce a complete change of the document.
  • Bold title changes are major changes to a single section, or a change to many sections that doesn’t change much of actual policy, but changes its representation in the document.
  • Normal title changes, and changes without a title, are minor changes or additions, usually to a single section.
  • Changes written entirely in italics are not important. They’re fun footnotes in history with little or no effect on actual policy.
  • Comment: Text written after the italicized word “comment” is my personal commentary on the change.

Let us begin!

1994 – 2000: Ancient times

The rules in this period were covered by the „Official DCI Penalty Guidelines“. It is very hard to obtain these documents online. There were few judges, and the guidelines were printed and distributed on paper. The web was in its infancy.

One version is available at the Wizards website but I have no idea from which year it is. More versions of the document from this era may still be somewhere. A combination of browsing the Wizards archive, the Wayback Machine and powerful Google skills may be enough to find more versions of the document.

Some articles from the era are accessible (Elaine Chase, Ken Horton).

The document was very different from the IPG of today.

The following penalties existed:

  • Caution (untracked verbal admonition)
  • Notice (tracked verbal admonition, equivalent to the Caution of 2000-2010)
  • Single warning (equivalent to current day Warning)
  • Single warning and duel loss (equivalent to today’s Game Loss)
  • Double warning
  • Double warning and duel loss
  • Double warning and match loss
  • Double warning and ejection (equivalent to Disqualification with prize of 2002-2008)
  • Triple warning and ejection
  • Triple warning and disqualification (equivalent to today’s Disqualification)

The following RELs existed:

  • Level 1: Very lenient rules enforcement. (today’s Regular REL)
    „Unintentional rules violations at this enforcement level should be treated with a high degree of tolerance. Particularly at this level, judges should focus on educating the player about the rule he or she violated so the error can be avoided in future tournaments.“
  • Level 2: Lenient rules enforcement.
  • Level 3: Standard rules enforcement. (today’s Competitive and Professional RELs)
  • Level 4: Strict rules enforcement.
  • Level 5: Very strict rules enforcement.
    „This level of rules enforcement is designed for the highest level of competition. Players are expected to have a thorough knowledge of all tournament rules and procedures, so judges should issue penalties for unintentional rules violations that reflect this expected amount of rules knowledge.“

At different RELs, the same infraction may receive different penalties. This is a concept that will survive until the introduction of the Regular Rules Enforcement Level Guide to Fixing Common Errors in June 2010 when differences between Competitive and Professional REL get erased. Formal penalties were eliminated from Regular REL tournaments with Judging at Regular REL in 2011.

Tournaments with a higher K-Value affected ELO DCI ratings more and required a higher REL and a judge of higher level. It was more important in those tournaments that the integrity of games is protected and that players don’t gain advantage through either incorrect play or uncaught cheating. This will persist until the three RELs are collapsed into three in 2007.

The document had infractions such as „Failure to Agree on Reality“, „Failure to Keep Cards Elevated above the Table“ and „Failure to Provide a Method to Track Life Total“. In most cases, infractions were more strict and gave more severe penalties than the infractions of today. A guiding philosophy was „prevent players from gaining advantage from breaking the rules“. Duel loss eliminates most forms of advantage so it was the go-to penalty of choice. Today, we are more lenient and often err on the side of assuming the player didn’t cheat, if we can’t prove it.

Comment: Here we see the origin of the term rules enforcement level. It may be „very lenient“, „lenient“, „standard“, „strict“ or „very strict“. These adjectives modify the phrase „rules enforcement level“ directly and cannot be used to describe a tournament — we can’t talk about a „strict tournament“ in the same way we talk about a „Professional tournament“.

Warnings were tracked by the DCI — the DCI was then an actual sanctioning body, not a term that most only know from the DCI number. Note that a penalty such as a match loss was always accompanied by one or more warnings, as only the warnings were what was formally reported to the DCI. This persisted for a while even beyond the year 2000.

The entire document is worth a read if you didn’t judge during this era.

2000, September

(It is possible this rewrite arrived slightly earlier than 2000, but I haven’t been able to find a document to prove it.)

Complete document rewrite: The document is renamed “DCI™ Universal Penalty Guidelines” and brings many changes, including a complete renumbering of infractions. Many infractions are dropped altogether and new infractions are created. Penalties are altogether reworked. Double and triple warnings are replaced with just “a Warning”. Ejection is replaced by Disqualification (without prize). Cautions are removed and Notices are replaced with tracked Cautions.

Document now covers multiple games: The guidelines are no longer for Magic: the Gathering only. They also cover other games published by Wizards of the Coast and run under the DCI umbrella, such as Pokémon TCG.

Upgrade path: Repeating the same infraction in the same tournament follows the same “upgrade path” for all infractions. The upgrade path is Caution – Warning – Game Loss – Match Loss – Disqualification. This means that if you commit a Warning infraction, the second time you commit it in the same tournament, you will receive a Game Loss. The third time, a Match Loss. The fourth time, you will be disqualified.

Warnings accompany penalties: With each true penalty such as a Game Loss, a warning is still given. Warning isn’t yet a penalty on par with Game Loss and Match Loss, it’s a thing of a different kind, not a penalty itself.

Randomly determining a winner now officially Cheating: The Penalty Guidelines now explicitly state that randomly determining the winner of a match is cheating. Previous documents made no mention of this and only said that a player colludes “if he or she attempts to alter the outcome of a game, match, or the tournament via illegal means. Such means include, but are not limited to: bribing opponents, judges, or tournament officials; rigging drafts by agreeing in advance on what colors or card types to play; and purposefully throwing games or matches to help another player in some way (either directly or indirectly)”.

Comment: At this point in time, the decklist takes precedence over the deck in all cases. If your deck does not match your decklist, the deck is always altered, not the decklist.

Comment: Some phrasing from this version of the document survived for many years, such as “The DCI recommends that tournament officials verify the legality of all decklists as soon as possible” (no longer true), and “Players are not considered to have drawn extra cards when they place a card face down on the table (without looking at the card) in an effort to accurately count out cards as they draw” (replaced by Hidden Card Error).

Comment: An example in today’s Unsporting Conduct — Minor reads, “a player leaves excessive trash in the play area after leaving the table.” In these Penalty Guidelines, Procedural Error — Major (a Warning offense) has the example “a player leaves a large amount of garbage in the tournament area (such as food debris)”. Other documents from this era describe excessive trash also as “uneaten food”. A single food wrapper is considered Procedural Error — Minor (a Caution offense).

Comment: Other examples in today’s Unsporting Conduct — Minor read, “a player inappropriately demands to a judge that her opponent receive a penalty” and “a player uses excessively vulgar and profane language”. In these guidelines, these examples read “a player loudly demands to a judge that her opponent receive a penalty” and “a player uses vulgar profanity in the presence of a parent or young player”. Notice how the sentence structure survived (for example, the player’s gender is the same). In this context, we see that merely saying “I want my opponent to receive a penalty” is not inappropriate.

Comment: In today’s IPG, an example for Aggressive Behavior reads, “a player pulls a chair out from under another player, causing her to fall to the ground.” In these guidelines, this example is still “a player pulls a chair from beneath another player, causing her to fall to the ground with a minor injury.” The requirement for injury will be removed in 2005.

Comment: Until 2013, most cheating fell under the infraction Cheating — Fraud. Fraud seems a strange name for violations that mostly consist of intentionally breaking game rules. In these guidelines, though, there are only two examples for Cheating — Fraud, “a player uses a fake name and DCI number” and “a player misrepresents the results of a match to tournament officials”. Both of these are more like things that most people would name ‘fraud’. In this context, the infraction name makes sense.

2001, November

In Pokémon TCG (which has single-game matches), a Game Loss is instead a Prize card penalty. In MLB Showdown, a Game Loss instead forces the infringing player to eject the team member with the highest point value.

If a player has more than 15 cards in his or her sideboard, remove excess cards from the bottom of the list until he or she is left with exactly fifteen cards instead of invalidating the sideboard for the rest of the tournament. The player still gets a Game Loss.

Judges no longer need to take game score into consideration when deciding whether a behaviour is Stalling or Slow Play.

Judges should no longer add extra time to a match in case of slow play. (Comment: Extra turns weren’t invented yet.)

Intentionally cheating in-game is now explicitly a cheating offense, namely Cheating — Other. This includes violating game rules or marking cards. Previously, this was reported under Cheating — Fraud.

2002, August

New name: Instead of DCI™ Universal Penalty Guidelines, we now have just the DCI™ Penalty Guidelines to avoid confusion with the Universal Tournament Rules. The Universal Tournament Rules will later be renamed to Magic Tournament Rules when Wizards stops with the DCI centralization effort.

Game play errors are now classified by severity: Previously, all game play errors, such as missed triggers or drawing extra cards were handled by the Warning infraction “Procedural Error — Misrepresentation”. Now, they are split between Minor, Major and Severe procedural errors. There are examples for guidance, but it’s the judge’s decision to decide how severe a particular violation is.

Disqualification with prize invented: A player who is disqualified because of repeat offenses now gets prizes they are due according to the final standings. A player who is disqualified for Cheating still doesn’t get any prizes.

Slow Play gets extra time: Judges should now award 3 minutes of extra time to a match where a Playing Slowly infraction occurred.

2003, September

Examples and rules specific to Pokémon TCG have been removed because Wizards of the Coast stopped producing the game and running its tournaments.

At lower RELs, judges may now repeat a level of penalty before escalating to the next level.

2005, January

Deviation guidance added: This version introduces the „significant or exceptional“ phrasing and says that a judge „should rarely deviate from these guidelines, and only in significant or exceptional circumstances“.

A changelog is added to the document (thank you so much).

The girl who falls to the ground in the Aggressive Behavior example no longer has to suffer injuries for the offender to be disqualified ^^.

2007, February

Massive rewrite, new name: This is a complete rewrite of the document. The changelog says „Officials are strongly recommended to read the entire document as if it were new policy.“ It was renamed „DCI™ Penalty Guide and Procedures“ and has transformed to become much closer to the document we use today. Among many other changes, it now has a sizeable introduction and philosophy section in addition to the actual list of infractions. Many individual sentences from these sections survive to this day.

New RELs: The five REL levels have been condensed into three — Regular (previously RELs 1 and 2, „lenient“), Competitive (previously REL 3, „standard“) and Professional (previously RELs 4 and 5, „strict“). Later on, in March 2012, virtually all differences between Competitive and Professional RELs will be removed and Regular REL will have gotten its own document, so the IPG will no longer make a difference between RELs.

Massive change to philosophy of in-game errors: Previously, in-game errors (such as casting a spell for the wrong mana) were graded by how much they affect the board state and grouped in Procedural Error categories: Minor, Major and Severe. These are removed, along with Unsporting Conduct — Severe, and replaced with Game Play Errors, categorized by the kind of error, such as Missed Trigger, Looking at Extra Cards, and the catch-all Game Rule Violation.

Non-Magic infractions added: Two infractions specific to non-Magic games, „Dice Error — Too Few Rolled“ and „Dice Error — Too Many Rolled“ have been added. Deck errors (still an entire infraction type at this point) are „Deck/Warband Errors“ (because of D&D Miniatures tournaments).

Deviation recommendation change: The Head Judge now „should not deviate except in significant and exceptional circumstances“. Later on, around 2009, the language will get tightened even further and say that the Head Judge „may not deviate“.

New penalty (Match Point): Match Point is a new penalty. It consists of a one-point loss assessed against a player’s total match points for the tournament. Events not using DCI Reporter 3.0 or greater should issue a Game Loss penalty instead. A Game Loss is still upgraded to a Match Loss, and a Match Point is also upgraded to a Match Loss. If the tournament has single-game matches (such as Two-Headed Giant), a Game Loss is instead a Match Point penalty.

Generic Tournament Rules violation not an infraction: A generic violation of tournament rules is no longer an infraction. The player should be instructed not to repeat the violation and if they do, they have committed Unsporting Conduct – Major for failing to follow a direct instruction. This phrasing survives to this day, except the infraction is Unsporting Conduct – Minor since 2014.

Decklist doesn’t always take priority: Decklist now only takes priority if it’s a legal decklist, and, if the error is obviously clerical, we fix the decklist first.

Extra turns are invented: For Slow play, instead of adding three minutes, two extra turns are added instead.

Turn cycle invented: The term „turn cycle“ (the period between now and the end of the current step or phase in the current player’s next turn) enters the document and will stay there until 2012.

Outside assistance now Cheating: Outside assistance is created as the infraction „Cheating — Outside Assistance“ and is a disqualifiable offense. It covers both what will become Hidden Information Violation (peeking at hidden cards) and what we now know as Outside Assistance (soliciting play advice from spectators). Previously, this form of Outside Assistance was handled under the three Unsporting Conduct infractions (the judge chose if it’s minor, major or severe).

Manipulation of game materials: The „Cheating — Manipulation of Game Materials“ infraction is invented, split off from „Cheating — Other“. It will survive until 2013. It’s called Manipulation of Game Materials, because at this point, it wasn’t just about the cards, but also about dice and action figures, relevant in non-Magic games.

At Regular REL only, judges now don’t need to report Cheating disqualifications to the DCI (Unsporting Conduct disqualifications must still be reported).

Judges should now apply fixes as prescribed by the guide rather than try to “correct the error” if a player makes an in-game error.

Separate infractions discovered at the same time should both be applied, Match Loss first, Game Loss in the next match, unless the root cause is the same.

At Regular REL, penalties don’t need to be upgraded for repeat offenses, but the Head Judge may do so.

Player communication policy is added to the document. Default shortcuts are added to the document. These will later be moved to Magic Tournament Rules. (Comment: These rules were created because there had been a lot of discussion regarding how much bluffing was allowed and where to draw the line.)

Comment: Many sentences introduced in this version survive to this day, such as “The safety of all people at a tournament is of paramount importance. There will be no tolerance of physical abuse or intimidation.” in Aggressive Behavior.

2007, June

No major changes.

2007, September

No major changes.

2007, December

Backups invented: Game Rule Violation can now be backed up if the error is discovered within a reasonable time frame and the situation is simple enough. Previously, the error must have been discovered immediately, or judges decided without document support on how to back up.

GPE upgrade path: The upgrade path for Game Play Errors now contains two warnings, before the Game Loss penalty is reached. Game Play Errors of the same category no longer have to be substantially similar for an upgrade to occur. (Comment: This makes it less subjective to consider whether an upgrade is in order.)

2008, March

Regular REL bribery may be match loss only: At Regular REL, if a player doesn’t know that bribery, wagering, a particular form of cheating or randomly determining a winner is illegal, the Head Judge may now downgrade the penalty to a Match Loss.

2008, June

Disqualification with prize removed: A player who is disqualified because of repeat offenses (due to the upgrade path) no longer receives any prizes from the tournament.

Outside Assistance no longer a DQ: The Cheating — Outside Assistance infraction is split into Cheating — Hidden Information Violation and Tournament Error — Outside Assistance.

Judges help prevent some errors: Judges can now intervene to prevent errors outside of game situations. It is still banned to do so to prevent in-game errors. (Comment: For example, a judge can help prevent Tardiness and Randomly Determining a Winner.)

2008, September

Out-of-order sequencing: Out-of-order sequencing is invented. Actions takes out of order don’t need to be treated as game play errors any more. The rules for out-of-order sequencing are in the Penalty Guidelines and will remain there until 2009.

2009, June

Modern name and look: The document is renamed to its current name of “Magic Infraction Procedure Guide”. It is renumbered and it now uses numbers such as 3.3 (for Missed Trigger) rather than 123. Many infractions are renamed.

Non-Magic infractions removed: Non-Magic games and infractions removed from the document. Most examples and procedures relevant to non-Magic games are removed, and a few stray sentences get cleaned up over the next few releases.

Player-relevant rules moved: Player communication policy and out-of-order sequencing rules are moved to the newly created Magic Tournament Rules.

2009, September

No major changes.

2009, December

When the controller of the effect differs from the person actually committing the Game Play Error, both players receive the penalty. Path of Exile is the prime example of this. The wording of this sentence will get tweaked many times later on.

A game state that’s clear to both players but not technically correct is no longer penalized.

Comment: This is where I started actively playing Magic and judging. I only have personal experience with documents from this point onwards.

2010, June

Regular REL moved: The Regular Rules Enforcement Level Guide to Fixing Common Errors (FCEG) is created and Regular REL procedures and penalties are removed from the IPG. This change also ends the policy of downgrading some Unsporting Conduct offenses (rolling dice at end of matches) to Match Loss at Regular REL. From now on, they are always Disqualifications.

End of upgrade path: Upgrade path no longer exists. Repeat Warnings are upgraded to Game Losses (two Warnings are needed for Game Play Errors) and penalties are never upgraded to Match Loss or Disqualification. (Comment: From July 2014 on, it will be possible to upgrade the Match Loss for harassment or bullying if the offender “intended harm”, but that will be the only exception.)

Professional penalties match Competitive: Penalties for Competitive and Professional REL are merged (and Regular REL penalties are removed). This basically ends the practice of „penalty charts“ where for each infraction, the penalty for each REL was different, especially in the era of five REL’s.

Match Point removed: Match Point is eliminated as a penalty; the only sanctioned format that needed Match Points was Two-Headed Giant, and that’s usually run at Regular REL.

2010, September

No major changes.

2011, March

No major changes.

2011, June

New name for FCEG: The Regular Rules Enforcement Level Guide to Fixing Common Errors was renamed to its current name of Judging at Regular REL. It no longer references official penalties.

Deck takes precedence: When the decklist doesn’t match the deck, even if the decklist is legal, the decklist is now fixed to match the deck. That means that in all cases the deck now takes precedence over the decklist in determining what the player will play for the rest of the tournament.

2011, September

No major changes.

2011, December

Indeterminate loop is Slow Play: Let’s get this out of the way first: attempting to perform a loop with an indeterminate endpoint is now Slow Play. (Comment: I understand the reason for this, but the execution is inelegant, in part because it bans certain combos using the IPG rather than game rules. It doesn’t have much to do with what we consider Slow Play, and it belongs in another document.)

Missed Trigger rewrite begins: The year 2012 is the year of changes to Missed Triggers. The policy will be rewritten almost every set. The final iteration, in January 2013, will stick  with minor changes until current day.

Let’s first recap how Missed Triggers worked until 2012:

  • Players are responsible for triggered abilities they control and must apply them immediately. If they don’t do so on purpose, that’s Cheating. If the opponent knows about the ability but doesn’t remind the player, that’s Cheating, too.
  • If players don’t announce optional „may“ abilities at the proper time, we assume they chose „no“.
  • If the trigger has no visual representation impact (such as „When this creature attacks, it gets +1/+1 until end of turn.“), we assume it resolved.
  • Otherwise, if the error is caught within a turn cycle, we place the trigger on the stack now, otherwise the trigger is skipped.
  • The point at which a trigger is considered missed is not explicitly given in the IPG. On the mailing list, we played with such terms as „significant pause“ and „an in-game action occurred afterwards“. Whether the player actually forgot, in the English sense of the word, was also important.

The rules in effect between December 2011 and March 2012 were so-called „optional abilities“. Here’s how it works:

  • Each triggered ability with the word „may“ and each triggered ability that only does one of nine named things (such as „causes you to gain life“ or „gives you additional turns or phases“) is considered „optional“ and the player does not need to perform it and if it’s forgotten, it’s not applied retroactively.
  • Because the IPG takes precedence over Comprehensive Rules, at Comprehensive and Professional RELs, the rules of Magic are now different than at Regular REL and at Magic Online, because even if both players remember all abilities, optional abilities can still be “missed on purpose” by their controller. (Comment: The card “Transcendence” got a nice boost from this ruleset.)
  • Some triggers are still non-optional and must be remembered or the player who forgot will get a Warning. These triggers are handled as previously, except that the trigger is placed on the bottom of the stack rather than the top.
  • From now on until the present day, the player’s opponent is never required to remind the player of his or her trigger. Previously, that was Cheating.

Comment: The base impetus for the Missed Trigger changes of 2012 was, “players don’t like when they have to remind their opponents of their beneficial triggers”. It was the implementation that took time to get right.

2012, March

Missed Trigger rewrite, part two: The entire Missed Trigger update from December is amended with lots of new text. Optional abilities are replaced with “lapsing abilities”, here’s the details:

  • We now explicitly define when a trigger is considered missed. It’s “once you have taken an action after your trigger” (if it’s your turn), or “after a brief period of time” (if it’s your opponent’s turn).
  • The list of nine things from the previous update is expanded to 12 effects and the abilities are no longer “optional”, they’re “lapsing” and intentionally ignoring them is now again Cheating. All of the effects are usually beneficial to the controller of the ability. You determine whether an ability is lapsing within the context of that game, so the same ability could be lapsing one turn and not another turn.
  • The turn is divided into three parts: before combat, during combat, and after combat. If a missed lapsing trigger is discovered within the same part of the same turn in which it should have triggered, the opponent chooses whether to put that ability on the stack. Otherwise, the ability is skipped. In any case, no Warnings are given.
  • Abilities that aren’t lapsing are still handled the same (Warning, and put in on the stack if it’s within a turn cycle).
  • If we place the ability on the stack, we now insert it “at the appropriate place” rather than the top or the bottom. Bottom remains the default if the ability triggered before any object currently on the stack was placed there. (Comment: This change will survive until present day.)
  • Comment: This was a fun time. Ignoring your own triggers shifted from being Cheating, to being okay, to being Cheating again, within a few months.

Professional REL effectively ended: Failure to Reveal can now be downgraded if the card was ever in a position to be uniquely identified even at Professional REL. Previously, it was only possible at Competitive REL. The only difference between Competitive and Professional REL that remains is that at Competitive REL, the Tournament Organizer may elect to give players 3 extra minutes each round before having the judge issue Tardiness penalties. At Professional REL, the Tournament Organizer may not choose to do this. This makes Competitive and Professional RELs equal in terms of strictness of rules enforcement.

Multi-day event upgrades: Warning counts for Game Play Error infractions now reset between days of a multi-day event.

New partial fix for GRV: An additional partial fix is added to GRV: “If an object is in the wrong zone, and it is within a turn cycle of the error, put the permanent in the correct zone.”

2012, June

Turn-based draw not a trigger: We take a little break from Missed trigger changes, except that the turn-based draw in draw step is now handled as a GRV. Previously, from 2007 to 2012, it was handled as a Missed Trigger. A new partial fix is added to GRV to have the player draw the card if he or she misses it.

Judge mistakes are reason for a downgrade: The words “Judges are human and make mistakes.” are added to the IPG. If a judge provides a player with incorrect information and the player commits an infraction as a result, the Head Judge may now downgrade the penalty to a Warning.

2012, September

Missed Trigger rewrite, part three: Here we go again! The section is rewritten from the ground up. This one is referred to as the “generally detrimental triggers” version.

  • The time at which the trigger is considered missed changes: “A trigger is considered missed once the controller of the trigger has taken an action after the point at which a trigger should have resolved or, in the case of a trigger controlled by the non-active player, after that player has taken an action that indicates they have actively passed priority.” Note that a significant pause is no longer sufficient to miss a trigger.
  • The concept of optional and lapsing abilities is removed and they don’t get special treatment anymore. A “may” ability is treated like any other triggered ability.
  • Some triggers are “generally detrimental”. This term is not defined in the IPG, but it’s said that it doesn’t take the game state into account. For example, the Dark Confidant trigger (“At the beginning of your upkeep, draw a card and lose life equal to its converted mana cost.”) is not generally detrimental, even if it’s sometimes detrimental for you (when you have little life left, for example). There were many discussions among judges on what makes a trigger generally detrimental. Rules of thumb were created, then disavowed. In the end, the system works. There is no precise definition, but weird cases are few and far between, and a Judge project maintains a list of generally detrimental triggers in new sets.
  • If you miss a generally detrimental trigger, you get a Warning. You’re not penalized for other triggers. Judges only intervene in case of generally detrimental triggers or if they suspect you’re missing your non-detrimental triggers on purpose.
  • End of the turn cycle: The turn cycle is removed as a concept. It’s replaced by “a turn”, which is basically like half a turn cycle, except more loosely defined. Later on, the phrasing “a turn” will be made more precise by “prior to the current phase of the previous turn”.
  • Regardless of whether the trigger is detrimental, if it’s discovered within a turn, the opponent decides whether to put in on stack. Otherwise, it’s skipped.

Failure to Reveal subsumed under GRV: Failure to Reveal was removed as an infraction and folded into Game Rule Violation with an upgrade. Nothing changes except the name of the infraction, though. Everything that was previously Failure to Reveal (for example, failing to reveal a morph creature at the end of the game) is now an upgraded Game Rule Violation, so you still get the Game Loss.

2013, January

Missed Trigger rewrite, part four: The point at which a trigger is considered missed changes, largely to the version we have today. Basically, the player must demonstrate awareness of the trigger when it would first have an effect on the game. This point is now much farther than it was previously. It may even be in a different phase!

Triggers that don’t have a visible impact on the game now aren’t assumed to have resolved anymore. Instead, players must still demonstrate awareness when the impact would become visible. For these triggers especially, there is a time between the trigger point and the time where the ability would have a visible impact on the game, where it’s not yet clear whether the trigger will be remembered or not. This state persists until either a player calls attention to the trigger or the trigger would have visual impact.

This update concludes the 2011-2013 evolution of the Missed Trigger infraction, one of the most important policy changes since the introduction of FCEG in 2010.

Streamlining Cheating: The four Cheating infractions were streamlined into just two and put under Unsporting Conduct. Stalling remained; Fraud, Hidden Information Violation and Manipulation of Game Materials became simply “Cheating”. Cheating now requires two additional conditions: (1) the player must be attempting to gain advantage; and (2) the player must be aware that he or she is doing something illegal.

New name for CPV: Player Communication Violation is renamed to Communication Policy Violation because many judges thought the Player Communication Violation was more broad than it actually was.

2013, May

No major changes (finally!).

2013, July

Confirm your draws: If a player tells their opponent they’re about to draw a card and the opponent agrees, the infraction is not Drawing Extra Cards anymore. (Comment: This is a step towards reducing the number of Game Losses issued.)

More partial fixes are added to GRV.

2013, September

No major changes.

2014, February

Simultaneous Game Loss penalties for Deck/Decklist Problem now don’t count towards the score for the match. Simultaneous Game Loss penalties for other infractions still count towards the score.

2014, April

Disobeying a judge now only a Warning: Ignoring the instruction of a tournament official is no longer Unsporting Conduct – Major. It’s added to the examples of Unsporting Conduct – Minor under the umbrella of an action that’s disruptive to the tournament. It’s therefore now a Warning rather than Game Loss. The next update will overhaul the Unsporting Conduct – Major infraction even more dramatically.

Nuance for D/DL: The Head Judge may downgrade the penalty for Deck/Decklist Problem if the decklist is illegal because of an “obvious clerical error” if the error cannot be used to gain advantage in the tournament.

New name: Draft Procedure Violation renamed to Limited Procedure Violation and now also handles errors during sealed deck registration (those were previously handled either under Failure to Follow Official Announcements or weren’t infractions).

Removing an infraction: Failure to Follow Official Announcements is no longer an infraction. A judge may still apply it under the umbrella of “disruptive action” in Unsporting Conduct – Minor, but few judges do that.

2014, July

Harassment rewrite: Unsporting Conduct – Major underwent a major rewrite. For a long time, it was a collection of three separate disruptive actions (destroying one’s own cards; disobeying judges; insulting based on a protected characteristic). Destroying one’s own cards is now moved under Unsporting Conduct – Minor, and this infraction now deals with harrassment. The definition is now that a player takes an action “that could reasonably be expected to create a feeling of being harassed, threatened, bullied, or stalked.” The penalty is now Match Loss if the player was unaware that they’re causing harm or if there was no actual harm. It’s Disqualification, if the player intended to cause harm.

DCI dies? The term “DCI” is removed from many sections of the document. For example, “if a judge makes a ruling that is consistent with quoted text, then the complaints of a player shift from accusation of unfairness by the judge to accusations of unfairness against the DCI” is now “if a judge makes a ruling that is consistent with quoted text, then the complaints of a player shift from accusation of unfairness by the judge to accusations of unfair policy”. DCI still persists in the phrase “DCI Penalty Database” and as the body to which disqualifications are reported.

2014, September

Information about backing up is extracted into its own section because backing up is used both in GRV and in CPV and how backup works has become complicated enough to warrant its own section.

Simultaneous Game Loss penalties now don’t count towards the match score ever, not just for Deck/Decklist Problems.

2015, January

Morph change: Failing to reveal a morph at the end of the game is now a Warning, rather than a Game Loss. This is in response to Khans of Tarkir (blog post).

2015, March

Slow Play change: Even if Slow Play significantly affected a game, the infraction can no longer be upgraded to Game Loss.

An additional partial fix is added to GRV.

2015, July

Minor errors may be left without penalty: If players made minor technical errors that are a GRV, for example, but resolved them on their own and didn’t call for a judge, the judge now doesn’t need to intervene in order to give a penalty. (Comment: Many judges were doing this previously anyway, because it felt bad for everyone — both players and the judge — if a judge entered a game just to give a penalty.)

Drawing Extra Cards now a Warning: Drawing Extra Cards is now a Warning. When a player draws extra cards, the opponent looks at the player’s hand, picks that many cards, and those cards are shuffled back into the deck.

Caution gone: All remaining references to “Caution” removed.

Multiplayer gone: All references to multiplayer games removed. It is recommended not to run Two-Headed Giant tournaments at Competitive REL.

Backups overview: There are now three infractions that allow backups: Game Rule Violation, Drawing Extra Cards and Communication Policy Violation. Two of them, Game Rule Violation and Drawing Extra Cards, also allow a “small” or “simple” backup, which reverts the last in-game action and only that action.

Deck nuance: When a player loses cards from his or her deck, he or she must replace them with basic land. But now, if the player locates (or purchases) those lost cards later on, he or she may replace the land with those cards, the player doesn’t need to play with the land for the rest of the tournament.

2015, September

Morph change: A player who accidentally plays a non-morph card as a morph, the player may replace it with a card with morph for his or her hand, and receives a Warning instead of a Game Loss.

Failure to reveal now a Warning: Failing to reveal a card is moved from GRV to Drawing Extra Cards, including the fix, so failing to reveal a card is no longer a Game Loss.

The final reference to differences between Competitive and Professional REL is removed from the document: the Tournament Organizer for Professional REL now has the option to give players extra time before giving them Tardiness penalties if they’re not in their seat as the round begins. There remains only a single difference between those two RELs and it’s not in the IPG: at Professional REL, spectators are not allowed to ask the players to stop the match while they call for a judge.

Players are no longer penalized for sealed deck registration errors. This means the Limited Procedure Violation now only affects draft.

In a reversal from previous rules, if a GRV or a CPV leads to Drawing Extra Cards later on, the problem is handled as Drawing Extra Cards, not as GRV or CPV.  

2015, October

No major changes.

2016, January

Hidden Card Error: Drawing Extra Cards and Improper Drawing at Start of Game are eliminated as infractions. They’re moved under a new infraction, Hidden Card Error, along with the morph GRV upgrade. “Hidden Card Error” is a wordwise synonym of “Hidden Information Violation”, but that infraction is still covered under Cheating, whereas the new Hidden Card Error handles unintentional violations.

Hidden Card Error is a Warning, and its fix is the fix that was previously in Drawing Extra Cards: The opponent chooses what was drawn/what was not revealed and those cards are shuffled back into the library.

The instruction on the card is now not repeated. So, for example, if you’re supposed to search for a land card but don’t reveal it, and your opponent choose to shuffle the land back into the library, you lose the card. You don’t get to search for a land again.

GRV: Added an additional partial fix to GRVs.

Deck nuance: Additional downgrade for decklist errors: if a card is discovered to be missing from a deck while a game is in progress, shuffle it into the deck instead of issuing a Game Loss.

2016, April

Hidden Card Error rewrite: Hidden Card Error is rewritten. It’s much more precise and technical. One major difference is that in case of a failure to reveal, when the opponent chooses the cards from hand there the player “failed to reveal”, those cards are not necessarily shuffled back into the deck. If they’re legal, they remain in the hand, otherwise they’re still shuffled back into the deck without replacement.

Mulligan Procedure Error: Improper Drawing at Start of Game is separated from Hidden Card Error again, except it’s renamed Mulligan Procedure Error (because it now also handles an improper scry of the Vancouver mulligan), and it doesn’t handle the first draw of the first turn (that’s still a Hidden Card Error). The player now gets the option to keep the hand with extra cards if he or she allows the opponent to pick the extra cards and shuffle them back into the deck.

2016, July

No major changes.

2016, September

Triggers that have a default action such (“At the beginning of your upkeep, sacrifice Masticore unless you discard a card.”) now allow the opponent to choose whether to resolve the default action or skip the ability.

2017, January

Hidden Card Error sets: Looking at Extra Cards and Hidden Card Error receive major updates. Among other updates, they now operate on the concept of physical “sets”. For example, if you look at top four cards of your library instead of three, but pick up the first two cards with your left hand and the second two with your right hand, your opponent will only choose the excess card from the second two cards.

D/DP: More nuance is added for Deck/Decklist Problem, and additional downgrade scenarios are added.

2017, April

Hidden Card Error change: Hidden Card Error changes again. If the Hidden Card Error is the result of a failure to reveal (rather than drawing extra cards), after the opponent chooses the cards that the player “failed to reveal”, those cards are returned to the player’s library and the player “reperforms” the action, correctly this time.

Deck problems split again: The Deck/Decklist Problem infraction is split into Decklist Problem and Deck Problem. Decklist Problem corresponds to the old Illegal Decklist infraction and Deck Problem corresponds to Deck/Decklist Mismatch. The first one’s a Game Loss, the other is a Warning, but with a mandatory upgrade to Game Loss in several scenarios.

2017, July

No major updates.

2017, September

If one player in a game receives a Game Loss and at the same time his or her opponent receives a Match Loss or a Disqualification, the player’s Game Loss is recorded but isn’t deferred until the player’s next game anymore. The player wins that match.

2018, January

No major changes.

Part 2: List of changes to infractions, in diagram form

Diagram of IPG changes

 

The diagram is available in SVG, HTML and PNG form. I recommend SVG. For each infraction, you can see when it appeared and when it was removed from the IPG or a predecessor document.

Many times, several infractions merged, or an infraction was split into several, or part of an infraction was moved under another infraction. This is indicated by arrows. By a dotted line, I indicate that an infraction is a “spiritual successor” of another infraction.

When only the default penalty for an infraction changes or the name of the infraction changes (but not its type), I list it as a new box on the same line, adjacent to the previous box. If the infraction undergoes substantial changes or its type changes, I use arrows.

I use abbreviations C/W/G/M/DQ. I list RELs from REL 1 to REL 5, and from Regular to Professional. If all RELs have the same penalty, I list only a single penalty.

  • Green color means Deck Error, or Deck/Warband Error between 2007 and 2009.
  • Blue color means Procedural Error until 2007 and Tournament Error afterwards.
  • Yellow color means Game Play Error.
  • Dark pink color means Card Playing.
  • Dark orange color means Marked Cards.
  • Light orange color means Slow Play.
  • Grey color means Unsporting Conduct.
  • Black color means Cheating.
  • Red color means Dice Error.

Part 3: Personal commentary

Now that the technical (fun!) stuff is over, let’s do some analysis. This part is entirely my own analysis. Other judges checked it for accuracy, but there may still be errors. Some inferences may not be true. If you think something here is incorrect, please make a comment or send me an email at petrhudecek2010@gmail.com.

Periods and major changes

I would split the history of the IPG into four parts:

  • The Official DCI Penalty Guidelines in effect until 2000 (period 1)
  • The DCI Penalty Guidelines in effect from 2000 until 2007 (period 2)
  • The IPG until FCEG (2007-2010; period 3)
  • Current era of the IPG (2010 onwards; period 4)

At the end of each period, we saw a massive overhaul. The overhauls at the end of periods 1 and 3 made the document more streamlined and more lenient.

The end of period 2 saw the introduction of the Game Play Error, and while it didn’t do any simplification (the opposite, actually, since it dedicated more space to non-Magic games), it marked the shift in philosophy for in-game errors from assessing impact on the game to acting based on the root cause of error. This point in 2007 is, as I see it, the most important change in the history of the document. (At least for Magic, that is. The most important point for players of other Wizards games is perhaps 2009 when the IPG stopped supported those games.)

The other major shift was from allowing judges to make judgement calls to trying for as much consistency as possible, in an effort to protect them from accusations of unfairness and favoritism.

There have been over 86 different infractions since 2000. Infractions got renamed, merged, split off, created and removed. The penalties and remedies changed, too, sometimes very quickly. But, three trends have been present for most of the evolution.

Trend 1: Complexity

The first trend is seemingly towards a simplification of the document. At the very beginning, we had 5 rules enforcement levels, and we had an infraction for virtually every single paragraph of the Tournament Rules (e.g. “Failure to Keep Cards Elevated above the Table”).

When the RELs were collapsed into just three, we had complexity of a different kind: the number of infractions (we had 37 different ones at the time!). But from 2007 on, we merged and merged until we were left with today’s 23 infractions. We also moved Regular elsewhere and made Professional REL equal to Competitive, so we’re left with just one rules enforcement level. We have less infraction types, too. In 2007, we had 8 types, now we have three.

I will argue, however, that the complexity is merely hidden. Even as the number of infractions shrunk, the text associated with each one grew. Missed Trigger takes up three pages, Hidden Card Error takes two. Game Rule Violation now has four partial fixes, and two of them are complex enough that they’re hard to parse. Deck Problem has three different upgrades.

In an effort to make the policy general, rules that actually exist for one simple case are sometimes written in hard legalese. The Khans of Tarkir update that made not revealing morphs at end of games a Warning was particularly arcane.

The Missed Trigger additional remedy has always required a flowchart, but its flowchart today would be more complex than ever.

An additional cause of increased complexity is the wish for consistency. In 2000, the introduction to Penalty Guidelines read, in part, “Please remember that these are only guidelines. If the judge believes that the situation has significant, extenuating circumstances, he or she is free to modify the penalty as appropriate.”

You would not find such a phrase in the modern IPG! Instead we have “The Head Judge may not deviate from this guide’s procedures except in significant and exceptional circumstances.” This grants us additional consistency but our text must necessarily be more thorough.

But, all of this additional complexity has another important benefit: it allows us to handle infractions with more precision. We no longer need to bluntly apply Game Losses because we don’t know how to properly fix errors, and we no longer require players to point out opponent’s triggers, a pain point for players for many years. The price of these benefits is the additional complexity of the IPG and more burden placed on judges.

Trend 2: Leniency

The second trend is towards a greater leniency and towards issuing as few penalties as possible, and to never issue a penalty harsher than necessary. This goes hand-in-hand with trend 1, as a greater leniency brings with it a greater complexity.

In 2000, ejection was mostly eliminated, as it required very many violations before the upgrade path caused a player to be disqualified.

Regular REL saw the greatest reduction of penalties. First, in 2007, almost all penalties for this REL were reduced to a Caution (with the notable exception of having a illegal deck), then in 2010 with FCEG, those penalties were hidden from players and in 2011 with JAR, they were eliminated altogether.

Professional REL lost its higher rules enforcement level, too. There were never many differences, and in 2012, the last was removed and Professional REL became equal to Competitive.

Gameplay became more forgiving at all RELs with the introduction of Out-of-Order Sequencing in 2008 and the removal of Incorrect Representation in 2009.

Deck and decklist problems saw perhaps the greatest evolution, even though it’s hidden in penalty charts. At the beginning, players had to alter the deck to match the decklist, deck errors were always game losses, and if a player had an error in his or her sideboard, the player had to play the rest of the tournament without it! Compare that to now, when many errors in the decklist are only worth a Warning, most deck errors are a Warning, including some times when a player plays with less than 60 cards, decklists are altered to match the deck, sideboard errors often don’t get a penalty at all and if you recover or purchase cards you’ve lost, you can replace the replacement basic land with those cards again, in the same tournament. None of those existed at the beginning: the deck errors got a lot more nuance over time.

We saw the removal of technical errors everywhere except in draft. Many violations of the Tournament Rules were previously deserving of a penalty, especially prior to 2000, but are now handled with a word.

The upgrade path was removed and, with one exception, penalties are never upgraded above Game Loss anymore.

Judges were encouraged to be less heavy-handed with the removal of Failure to Follow Official Announcements, and the reduction of the penalty for disobeying a judge’s direct instruction to a Warning.

Outside Assistance, previously a Cheating infraction, was reduced to a Match Loss in 2008.

And finally, the Missed Trigger rewrite of 2012 removed most Missed Trigger penalties from the game and the Hidden Card Error rewrite of 2016 reduced the last Game Loss that survived in the Game Play Error infraction type to a Warning.

The trend is manifest: let’s give our players the least penalty we can that still serves its purpose, while remaining consistent.

In the history of the IPG, I see only two instances where the penalties got more strict (three, if you count the few periods in which Improper Registration of Limited Card Pool was an infraction).

The first one is that between 2008 and 2010, at Regular REL only, if a player rolled a die to see who wins at the end of a match, the Head Judge had permission to only issue a Match Loss if the player didn’t know that it was illegal. In 2010, with FCEG, that was possibility was removed. The infraction is this severe because WotC’s lawyers are afraid that if it wasn’t, Magic would be more likely to be considered a gambling game that might suffer legal restrictions. That is the reason for the severity of the infraction at Regular REL and as judges, we can’t do anything about it, even if we think it unfair (I do think it unfair).

The second one is the Unsporting Conduct — Major rewrite in 2014. This was a major change and the first Match Loss penalty since Outside Assistance. (blog post, blog post 2, FAQ, annotated IPG, official reddit thread). Previously, actions “that could reasonably be expected to create a feeling of being harassed, threatened, bullied, or stalked” sometimes fell under Unsporting Conduct — Minor, a Warning, whereas now they were punished with a Match Loss. I believe this change had some connection to greater changes in society in our times and I suspect here a greater involvement on the part of Wizards.

Both of these exceptions, I think, are caused by outside factors and so the trend towards more targeted, less broad, more lenient penalties is consistent throughout IPG evolution.

Trend 3: Fewer infraction names

Even as the IPG grew more complex, the actual number of infractions went down. 37 infractions existed in 2007 and only 23 exist now. Where have they gone? It’s not that some actions that were previously illegal are now tolerated. Almost everything that was illegal then is still illegal now — the infractions were just merged.

Instead of many infractions where each was two paragraphs, we get a smaller number of infractions where each is one page. Six deck infractions were merged into two, ten game play infractions were merged into six, and so on. Some merges, such as Marked Cards – No Pattern and Marked Cards – Pattern, were merged as “the first infraction with an upgrade to the second infraction”. This was also the case when Failure to Reveal was merged into Game Rule Violation.

Some infractions were quite similar already, such as Ilegal Deck (No Decklists) and Illegal Decklist. The merged Cheating infractions had similar causes and the same penalty. Some infractions were subsumed under the Unsporting Conduct – Minor umbrella of “generally disruptive behavior”.

In part, I see why this is happening. Less infractions means less to remember, more text can be shared, and thus less text overall has to be read and written. It is more simple.

But a part of me can’t help but think that the IPG was more simple when it was split into many infractions. Humans are good at associating names to concepts. It is easier to understand, remember and recall two infractions, Marked Cards – No Pattern and Marked Cards – Pattern, than it is to remember that Marked Cards should be upgraded to a Game Loss if there is a pattern.

Having more infractions also allows the infraction names to be more descriptive. “Playing the Wrong Opponent” immediately tells me what the definition of the infraction is. And so do the old Illegal Decklist and Deck/Decklist Mismatch infractions. But now, did you know that if a player loses cards from their deck over the tournament, that’s a Decklist Problem and not a Deck Problem?

Relics from the past

IPG evolves organically. When policymakers create or change an infraction, they don’t come up with the best possible text for the infraction. They take text that’s already in the IPG and tweak it, changing as little as possible. Thus we end up with some historical artifacts with curious origins.

Decklist Problem: Decklist Problem instructs us to “remove cards from the bottom of the ‘appropriate section’ of the list” (single quotes mine), which always means sideboard, because no format limits the maximum size of the main deck. It’s a relic from period 2 when the Penalty Guidelines still covered games other than Magic, which limited the size of the main deck (specifically, Dreamblade).

Unsporting Conduct – Minor: In 2002, we had Procedural Error — Minor, Major and Severe; Marked Cards — Minor and Major; and Unsporting Conduct — Minor, Major and Severe. In 2007, only the Unsporting Conduct infractions remained, and that was because each covered a number of unrelated offenses. Unsporting Conduct — Minor is the only infraction left virtually unchanged since 2000.

Limited Procedure Violation: In 2014, improper registration of a sealed pool was added to Draft Procedure Violation, which is why it was renamed to Limited Procedure Violation. Two years later, improper registration is no longer an infraction but the new name renamed, even though it applies to just draft now.

Failure to Maintain Game State: In 2007, when the infraction appeared, the word “game state” appeared also in the infraction “Illegal Game State” which was defined as “the ongoing state of the current game is illegal” and is fixed by applying state-based actions. However, even then, FtMGS was applied to opponents who failed to notice other infractions such as GRV as well.

Half a turn cycle: The turn cycle was removed in 2012, replaced by “a turn” which was later clarified to be “prior to the current phase of the previous turn” which is basically half a turn cycle. Note, however, that there are far fewer Missed Trigger remedies happening that previously. If a player doesn’t remember a trigger before it would have a visual effect, the opponent gets to decide whether it happens: and because most triggers are beneficial to the controller, the opponent will often say “no”. In that sense, it doesn’t matter whether the window is a turn or a turn cycle, because the result will simply be “the trigger doesn’t happen”.

Future evolutions

Short-term, I foresee the the first two trends continuing. Complexity will increase, and we will give less penalties as the IPG evolves, but I don’t think we’ll reduce the number of infractions further. I also don’t think we’ll see another major rewrite of the entire IPG ever – the Judge program, and Magic, has become too large and too established for that, and the current document works well enough.

I foresee the following specific changes: Hidden Card Error will be split once more: Failure to Reveal and Drawing Extra Cards are different enough that they may get separate infractions again. I think Unsporting Conduct — Minor and Major may be renamed, perhaps to Unsporting Conduct — Minor Disruption, and Unsporting Conduct — Harassment and Bullying. Limited Procedure Violation may get its old name back.

As for penalties, there may be room for less harsh penalties for Unsporting Conduct — Major. Judges tend to deviate when they disagree with the harshness of a penalty, or when they are unsure and the only possible penalty is very harsh. I think this is happening right now with Unsporting Conduct, especially in cases where nobody actually felt harassed, threatened, bullied or stalked. In those cases, judges may decide — against both the spirit and the letter of the IPG — to not issue the penalty. For that reason, I think we’ll see some possible downgrades to this infraction, especially for situations where the offender and the subject aren’t in a match.

Long-term, we may see greater changes. We won’t see a complete change in philosophy, but we may see more infractions being split so that each infraction is more specific and simpler to parse. I would also not be surprised if the concept of REL was altogether eliminated, replaced with “casual tournaments” and “competitive tournaments,” perhaps.

Conclusion

The IPG of today is still very similar to the Official DCI Penalty Guidelines of 2000, but it has seen massive changes nonetheless.

Most changes were iterative improvements made possible by experience of policy makers and by seeing where previous iterations failed. Many were made after discussion with top players. Some were made after specific problems during events (such as the Khans of Tarkir morph change).

I see roughly four major periods of evolution. The first one went until 2000 and ended with a complete restructuring of infractions and penalties. The second one ended in 2007 with the end of Procedural Errors. The third one, between 2007 and about 2011, focused on simplification, streamlining. The fourth one, from 2011 up to now, evolved along the desire of not issuing penalties more severe than necessary, reintroducing some lost complexity.

In the near future, I foresee some more steps towards leniency (there is some space still available) but long-term, I think we’ll see another wave of streamlining aimed at making the document less complex or more readable.

(Note: I opt out of the Exemplar program. If you considered giving me an Exemplar recognition, write a review instead.)

Napsat komentář

Vaše emailová adresa nebude zveřejněna.