shiftAppend :: NGram a -> a -> NGram a
    shiftAppend (NGram [])     y = NGram [y]
shiftAppend :: NGram a -> a -> NGram a
shiftAppend (NGram [])     y = NGram [y]
shiftAppend (NGram [])     y = NGram [y]