@Override
public Expression<K> applyInternal(Not<K> input) {
Expression<K> e = input.getE();
if(e instanceof Literal){
Literal l = (Literal) e;
return Literal.of(!l.getValue());
}
if(e instanceof Not){
Not<K> internal = (Not<K>) e;
return internal.getE();