I have a concern that the placement of the 'throws' keyword in the function declaration makes the it less pleasant to read. I think it's interrupting the flow, which otherwise reads nicely as 'maps this to that'. Below is the best alternative I can think of, although I'm not a compiler expert, so I'm not sure how much difficulty this would cause for the parser.
func doStuff(x:Int, y:Int) -> Int, throws {
...
}