Rebased onto latest rust-team branch and removed all the duplicated work.

- Jordan