Functional improvements over sh for both programming and interactive use