例外によるエラーハンドリングを実装

Eitherの実装が手こずりそうなので、例外を使ってエラーを表現してみました。
`parse_type()`と`parse_function_call_expression()`を少し意図から変えました。