Revert "Simplify+improve where implementation"
Merge pull request #134 from CrossEye/revert-125-where

Revert "Simplify+improve where implementation"