Merge initial swift work from neillc's fork.