Shouldn't the return type of [match](https://github.com/Havvy/result/blob/master/result.js.flow#L32), and by extension the `MatchBlock` type, be polymorphic? ```js type MatchBlock<R, T, F> = { Ok(value: T): R; Fail(failure: F): R; } // ... match(block: MatchBlock<R, T, F>): R;