Cleaned up several tactics so they use the 'choice' workflow to correctly propagate errors instead of using Choice.get; so far, iterating in this way is making it much easier to track down the true sources of errors.
Added type annotations in a number of places to simplify type signatures for theorems.