Return Result<()> instead of Result<Bool>.
Add defaultError forms taking message/file/line.
Let defaultError forms construct userInfo.
try forms take defaulted file/line.
Test try -> Result<T> success.
Test try -> Result<T> failure.
Correct a runtime failure.

This was EXC_BAD_ACCESSing when I used BooleanType. Since BooleanType
can be arbitrarily converted to Bool in f, I opted to just use Bool.
Test try -> Bool success.
Add a helper to make try functions.
Use the helper.
Test try -> Bool failure.