rename extra to DestructureByIgnoring, add expression validation, add tests, general code improvements