anchor.diff:     * In either case:
      * If the expression evaluates to a result *r*, this method returns
      * the result of calling [reflect](*r*).
  -   * If evaluating the expression throws an exception *e* (that it does not
  -   * catch)
  -   * the the result is a [MirrorError] wrapping *e*.
  +   * If evaluating the expression causes a compilation error
  +   * this method throws a [MirroredCompilationError].
  +   * If evaluating the expression throws an exception *e* 
  +   * (that it does not catch)
  +   * this method throws *e*.
      */
     InstanceMirror newInstance(Symbol constructorName,
                                List positionalArguments,
  
positive.code:    * class of *o* (otherwise).
     * If the invocation returns a result *r*, this method returns
     * the result of calling [reflect](*r*).
     * If the invocation throws an exception *e* (that it does not catch)
     * the the result is a [MirrorError] wrapping *e*.
     */
    /*
     * TODO(turnidge): Handle ambiguous names.
  
negative.code:    * class of *o* (otherwise).
     * If the invocation returns a result *r*, this method returns
     * the result of calling [reflect](*r*).
     * If the invocation causes a compilation error
     * this method throws a [MirroredCompilationError].
     * If the invocation throws an exception *e* (that it does not catch)
     * this method throws *e*.
     */
    /* TODO(turnidge): Handle ambiguous names.*/
    InstanceMirror getField(Symbol fieldName);
  