anchor.diff:    }
   }
   
  -/**
  -    Coordinates of a decoded Open Location Code.
  -    The coordinates include the latitude and longitude of the lower left and
  -    upper right corners and the center of the bounding box for the area the
  -    code represents.
  -    Attributes:
  -    latitude_lo: The latitude of the SW corner in degrees.
  -    longitude_lo: The longitude of the SW corner in degrees.
  -    latitude_hi: The latitude of the NE corner in degrees.
  -    longitude_hi: The longitude of the NE corner in degrees.
  -    latitude_center: The latitude of the center in degrees.
  -    longitude_center: The longitude of the center in degrees.
  -    code_length: The number of significant characters that were in the code.
  -    This excludes the separator.
  - */
  +/// Coordinates of a decoded Open Location Code.
  +///
  +/// The coordinates include the latitude and longitude of the lower left and
  +/// upper right corners and the center of the bounding box for the area the
  +/// code represents.
   class CodeArea {
     double latitudeLo;
     double longitudeLo;
  
positive.code:     return true;
    }
  
    /**
        Encode a location into an Open Location Code.
        Produces a code of the specified length, or the default length if no length
        is provided.
        The length determines the accuracy of the code. The default length is
        10 characters, returning a code of approximately 13.5x13.5 meters. Longer
        codes represent smaller areas, but lengths > 14 are sub-centimetre and so
        11 or 12 are probably the limit of useful codes.
        Args:
        latitude: A latitude in signed decimal degrees. Will be clipped to the
        range -90 to 90.
        longitude: A longitude in signed decimal degrees. Will be normalised to
        the range -180 to 180.
        codeLength: The number of significant digits in the output code, not
        including any separator characters.
     */
    String encode(double latitude, double longitude,
        {int codeLength: PAIR_CODE_LENGTH}) {
      if (codeLength < 2 ||
  
negative.code:       return false;
      }
  
      // We can have an even number of padding characters before the separator,
      // but then it must be the final character.
      if (code.indexOf(PADDING) > -1) {
        // Not allowed to start with them!
        if (code.indexOf(PADDING) == 0) {
  