add swift implementation

Swift!
Signed-off-by: Andre Dublin <81dublin@gmail.com>
There should be no default. We've made an exhaustive pattern match if done correctly. If we had not, the compiler should tell warn us. Does the swift compiler warn if you remove some of the case patterns?