code: function Atom( arg , isTmp ) {
  	if ( arg && typeof arg === 'object' ) {
  		this.assign( arg ) ;
  	}
  	else if ( typeof arg === 'string' ) {
  		this.k = arg ;
  	}
  	else if ( typeof arg === 'number' ) {
  		this.n = arg ;
  	}
  	else if ( typeof arg === 'boolean' ) {
  		this.b = arg ;
  	}
  
  	if ( isTmp ) {
  		this._tmp = true ;
  	}
  }
docs: /*
  Atom parts:
  
  - babel: Babel instance
  - k: translation key
  - s: invariable string
  - c: (getter) canonical string
  - n: atom count (integer), or 'many' (=Infinity)
  - g: atom gender, char: 'm' (male), 'f' (female), 'n' (neutral), 'h' (hermaphrodite, or both - plural)
  - nOffset: offset for the altn variation
  - p: person, char '1' (first person), '2' (second person), '3' (third person)
  - u: noun type (u: Unique), char: 'c' (common noun), 'p' (proper noun)
  - alt: (array of)^N variations
  - ord: array of property names to be used to navigate inside of 'alt' array structure
  - n?: array of variations by atom number
  - g?: array of variations by atom gender
  - p?: array of variations by atom's 1st/2nd/3rd person
  - u?: array of variations, first common noun, then proper noun
  - ng?: array of variations by atom number and gender (array of array, [number][gender])
  - list: list of things
  - enum: handle enumeration of list
  - uv: unit of measurements: list of values
  - uf: unit of measurements: format, should match 'uv'
  - um: unit of measurements: mode
  - uenum: enumeration, when the mode include concatenation of multiple units, e.g.: 2 feets and 3 inches