Hi Yang Bo,
I found intellij reported "cannot resolve symbol extract" on line of: case underlying.extract(b) => b in Extractor.OptionFunctionToPartialFunction.unlift.
But the test can be run correctly, so it seems intellij is not smart enought to find out its an implicit conversion, I think.