anchor.diff:  Statements are immutable.
   To change a database, splice in new statements; do not attempt to modify existing ones.
   
  -    statement.type === MMOM.Statement.OPEN
  -    statement.type === MMOM.Statement.CLOSE
  -    statement.type === MMOM.Statement.CONSTANT
  -    statement.type === MMOM.Statement.VARIABLE
  -    statement.type === MMOM.Statement.DISJOINT
  -    statement.type === MMOM.Statement.ESSENTIAL
  -    statement.type === MMOM.Statement.FLOATING
  -    statement.type === MMOM.Statement.AXIOM
  -    statement.type === MMOM.Statement.PROVABLE
  +[source]
  +import { MMOMStatement } from 'smm/MMOM';
  +statement.type === MMOMStatement.OPEN;
  +statement.type === MMOMStatement.CLOSE;
  +statement.type === MMOMStatement.CONSTANT;
  +statement.type === MMOMStatement.VARIABLE;
  +statement.type === MMOMStatement.DISJOINT;
  +statement.type === MMOMStatement.ESSENTIAL;
  +statement.type === MMOMStatement.FLOATING;
  +statement.type === MMOMStatement.AXIOM;
  +statement.type === MMOMStatement.PROVABLE;
   
   Statements have a type property, which is equal to the constants above for real statements.
   Fake statements also have types, but their number and roles are not currently considered stable.
   
  -    string = statement.label
  -    arrayString = statement.math
  -    arrayString = statement.proof
  +[source]
  +string = statement.label;
  +arrayString = statement.math;
  +arrayString = statement.proof;
   
   Accessors for the fundamental parts of a statement.
   `math` and `proof` may be `null` on statement types for which they are not applicable;
   when they are applicable, they will always be present even if empty.
   
  -    index = statement.index
  -    database = statement.database
  -    statement === database.statement(index)
  +[source]
  +index = statement.index;
  +database = statement.database;
  +statement === database.statement(index);
   
   A statement which is in a database knows its database and index.
   
  
positive.code: 
  === Statements
  
      count = database.statementCount;
      statement = database.statement(42);
  
  A database has a `statementCount` property and a `statement` reader method.
  Currently all database access is mediated by statement indices.
  
negative.code: A statement is born into a database, and thereafter is not (observably) modified except to remove it.
  Databases are modified by calling methods on the database to insert statements, remove statements, and replace statements with modified versions.
  
  Statements in SMM are the statements defined in the Metamath specification, plus SMM-specific statement types `COMMENT`, `INCLUDE`, `BOGUS`, `METACOMMENT`, and `EOF`;
  these statement types have no effect on the mathematical content of the database, but serve to hold text during parsing that does not naturally correspond to any statement.
  SMM always knows the character data corresponding to a statement.
  It is impossible to create a statement without making *some* decision about the whitespace that would be used to write that statement to a file.
  