<ol>

 <li>  Add support for a SHARD KEY in the table definition.  This is passed
     down into the storage engine as a hint.  The storage engine is free to
     ignore the hint.

 <li>  Forward port all query optimizer enhancements implemented in SQLite3
     over the previous year into SQLite4.

 <li>  Review all other changes made to SQLite over the previous year and
     forward port all that seem appropriate.

 <li>  Use decimal arithmetic everywhere within the code.  Avoid the use of
     IEEE 754 binary floating point, except for APIs that have "double"
     parameters or return values.

 <li>  Carefully review the entire API and look for other ways to make it
     simpler and more robust.

<li>  Change memory allocation routines to be methods of sqlite4_mm instead
     of methods of sqlite4_env.
     <ol>
        <li> sqlite4_mprintf()
        <LI> sqlite4_vmprintf()
        <li> sqlite4_malloc()
        <li> sqlite4_free()
        <li> sqlite4_realloc()
     </ol>

<li>  Add a new extended error code for every error where doing so makes
      any sense at all.

</ol>