title: mongoose lean object type is incorrect
body: <p>I have a data model defined:</p>
  <pre><code>type MapData = {
      coordinates: [number, number][]; // coordinates consists of an array of [x,y] on the map
  }
  
  type MapDataDocument = MapData &amp; mongoose.Document;
  
  
  const mapDataSchema= new mongoose.Schema(
  {coordinates: { type: [[Number, Number]], default: [] }}, { collection: 'mapData' });
  
  export default mongoose.model&lt;MapDataDocument&gt;('mapData', mapDataSchema);
  </code></pre>
  <p>When I am fetching it with lean:</p>
  <pre><code>const mapDataResults:MapDataDocument[] = mapData.find().lean(); //mapData is Model&lt;MapDataDocument, {}, {}&gt;
  </code></pre>
  <p>This will give an error on build as:</p>
  <pre><code>Argument of type 'Pick&lt;_LeanDocument&lt;MapDataDocument&gt;, ... 14 more ' is not assignable to parameter of type 'MapDataDocument[]'.
   Type 'number[]' is missing the following properties from type '[number, number]': 0, 1
  
  </code></pre>
  <p>I don't have any definition of number[], I guess the <code>.lean</code> inferred the types incorrectly?</p>
  <p>I can probably solve this problem by changing the coordinates' type definition to <code>number[][]</code> but I want to keep <code>[number, number]</code> as it pertains business knowledge.</p>
  <p>What is the way to address the typing issue?</p>