Merge initial swift work from neillc's fork.

no one-liners please :)