Use literals and mutable variables instead of ref cells for better performance.
Change Array.sub to use System.Array.Copy rather than for loop
Move logic to a subUnchecked method in local.fs
This sub usage occurs repeatedly in 4.0 collection changes
Modify Array.subOptimize to use blend of System.Array.Copy and
  iterative copy
Change Seq.ToList to mutation based to remove List.rev
Work for #150 - Review core collections functions for use of OptimizedClosures.FSharpFunc<_>.Adapt (changeset 1364854)
Implement Array.truncate, List.truncate

commit b2f4ec941e7388b25354c310cc693600fac2adfb
Author: latkin <latkin@microsoft.com>
Date:   Tue Nov 4 14:13:06 2014 -0800

    Remove slicing in favor of zeroCreateUnchecked + Array.Copy

commit ed9db6767b5fd85d5e6f7119fc044c29f2fdf487
Merge: c27ff34 6b2fa35
Author: latkin <latkin@microsoft.com>
Date:   Tue Nov 4 14:02:52 2014 -0800

    Merge branch 'truncate' of https://git01.codeplex.com/forks/patrickmcdonald/visualfsharp into PR

    Conflicts:
    	src/fsharp/FSharp.Core.Unittests/SurfaceArea.4.0.fs
    	src/fsharp/FSharp.Core.Unittests/SurfaceArea.Portable.fs
    	src/fsharp/FSharp.Core/array.fs
    	src/fsharp/FSharp.Core/list.fs
    	src/fsharp/FSharp.Core/list.fsi
    	src/fsharp/FSharp.Core/local.fsi

commit 6b2fa358a6ded7199a9085c982dba430f6b47c67
Author: Patrick McDonald <paddymcdonald@gmail.com>
Date:   Tue Sep 9 13:42:14 2014 +0100

    Update Array.truncate and List.truncate after code review

commit 42a7a3f12310bab42e1c1ce87664f527b426b7ad
Author: Patrick McDonald <paddymcdonald@gmail.com>
Date:   Tue Sep 9 00:24:10 2014 +0100

    Implement List.truncate and Array.truncate
Implement Array.unfold, List.unfold

commit 19e2c16c4c554c17e4ba730f6f0552091502be48
Merge: 5f20697 222f5ad
Author: latkin <latkin@microsoft.com>
Date:   Tue Nov 4 14:32:01 2014 -0800

    Merge branch 'unfold' of https://git01.codeplex.com/forks/patrickmcdonald/visualfsharp into PR

    Conflicts:
    	src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Collections/ArrayModule2.fs
    	src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Collections/ListModule2.fs
    	src/fsharp/FSharp.Core.Unittests/SurfaceArea.4.0.fs
    	src/fsharp/FSharp.Core.Unittests/SurfaceArea.Portable.fs
    	src/fsharp/FSharp.Core/array.fsi
    	src/fsharp/FSharp.Core/list.fs
    	src/fsharp/FSharp.Core/list.fsi
    	src/fsharp/FSharp.Core/local.fs

commit 222f5adfefdc379880266b3522c5268a457e5dc3
Author: Patrick McDonald <paddymcdonald@gmail.com>
Date:   Tue Sep 9 23:11:27 2014 +0100

    Refactor Array.unfold

commit 3f5db8bb97fc488bbb58036c427d88bf532b16f6
Author: Patrick McDonald <paddymcdonald@gmail.com>
Date:   Tue Sep 9 18:43:00 2014 +0100

    Implement List.unfold and Array.unfold
Implement Array.windowed, List.windowed

commit c124af48c696ea90e3297a160a8cb832e6bc4610
Author: latkin <latkin@microsoft.com>
Date:   Wed Nov 5 10:34:24 2014 -0800

    Small corrections to XML docs

commit abf3ad863e47ed36c0c183c1a2c7cceb46ad3596
Merge: 1d6fff2 ec5a221
Author: latkin <latkin@microsoft.com>
Date:   Wed Nov 5 09:59:28 2014 -0800

    Merge branch 'windowed' of https://git01.codeplex.com/forks/patrickmcdonald/visualfsharp into PR

    Conflicts:
    	src/fsharp/FSharp.Core/array.fs
    	src/fsharp/FSharp.Core/array.fsi

commit ec5a2218d97c2d15ba7c92bab978924f0f20e4ce
Author: Patrick McDonald <paddymcdonald@gmail.com>
Date:   Tue Sep 16 00:40:53 2014 +0100

    Fixes error where List.windowed 2 [1] returns [ [|1; 0|] ]
    Add additional tests

commit 9aebd7d3419225e536cef44f729fed5c0d6637f2
Author: Patrick McDonald <paddymcdonald@gmail.com>
Date:   Thu Sep 11 00:55:51 2014 +0100

    Implement List.windowed and Array.windowed
Merge branch 'master' into fsharp4

Conflicts:
	src/fsharp/FSharp.Core/array.fs
	src/fsharp/FSharp.Core/local.fs
	src/fsharp/FSharp.Core/local.fsi
Make printf handle units of measure
Implement sortDescending/sortByDescending for Array, List, Seq

Commits:
    Add Tests and naive implementation for Array SortDescending and SortByDescending

    Add Tests and naive implementation for List SortDescending and SortByDescending

    Add Tests and naive implementation for Seq SortDescending and SortByDescending

    Removed Array Reverse and Implementation of Array.sortByDescending properly

    Remove Whitespace/Dead Code

    Correct Implementation of List sortDescending and sortByDescending

    Updated SurfaceArea to include new Sort Functions sortDescending and sortByDescending for Array, List and Seq

    Added Unit Tests for sorting Tuples to verify stable sorting

    Fixed bug in Array.sortDescendingBy, removed unnecessary Array.Reverse

    Implemented Seq.sortDescending and sortDescendingBy using the List.sortWith method.

    Fixed Remarks for Seq SortDescending and SortByDescending to indicate that they are Stable Sorts

    Mark array and line sortDescending and sortDescendingBy as inline

    Moved List.sortDescending and sortByDescending to local.fs and List and Seq use that

    Added tuple, date, float and string tests for Sorting Arrays
Implement Seq.sortWith and refactor various sorts to share code

Commits:
    Implement Seq.sortWith

    Modify Seq.sortWith and Array.stableSortInPlaceWith to
      remove comparison constraint on 'T
    Refactor List.sortWith to use Array.stableSortInPlaceWith

    Change signature of Array.stableSortInPlaceWith
      Push FSharpFunc.Adapt + new IComparer back into method

    Modify sortDescending and sortByDescending in Seq and List to use
        Array.stableSortinPlaceWith
    Get tests passing and add some more
    Re-remove dead List StableSortImplementation module
        (was re-added in rebase of sortWith)

    Change sortDescending and sortByDescending to inline
    -   check explicitly for nan in comparer function
    -    call sortWith implementations

    Revert NaN special casing in sortDescending
    Remove NaN from sortDescending tests
    NaN behavior is now "undefined"
    Update portable surface area tests

    Workarounds to avoid adding a comparison constraint on portable profiles

    Adding a few more tests