dont emit when key clashes with special binding, or when key is ESC, CTRL, ALT, etc, etc
rename preidactes to conditionals
fix emitter
alt version of diff
return an empty array where same type and type === undefined / null / NaN, etc
fix ignore index in diff, add additional test case to spec
port unit test for alt diff, fix edge cases