Don't call isSome and .Value (#3126)
Don't call isSome and .Value (#3126)

* Don't call isSome and .Value

* Use hasOrigExpr in order to reduce checks and move filter up

dsyme/fsharp,brettfo/visualfsharp,dsyme/fsharp,dsyme/FSharp.Compiler.Service,dsyme/fsharp,ncave/FSharp.Compiler.Service,syeerzy/visualfsharp,Jand42/FSharp.Compiler.Service,dsyme/fsharp,syeerzy/visualfsharp,Jand42/FSharp.Compiler.Service,dsyme/FSharp.Compiler.Service,ncave/FSharp.Compiler.Service,cloudRoutine/FSharp.Compiler.Service,brettfo/visualfsharp,brettfo/visualfsharp,syeerzy/visualfsharp,cloudRoutine/FSharp.Compiler.Service,cloudRoutine/FSharp.Compiler.Service,syeerzy/visualfsharp,brettfo/visualfsharp,syeerzy/visualfsharp,dsyme/fsharp,syeerzy/visualfsharp,dsyme/fsharp,Jand42/FSharp.Compiler.Service,dsyme/FSharp.Compiler.Service,fsharp/fsharp,fsharp/fsharp,dsyme/fsharp,fsharp/fsharp,brettfo/visualfsharp,ncave/FSharp.Compiler.Service,brettfo/visualfsharp