Result型とsealed interfaceで型安全なエラーハンドリングを実現する