I oftentimes use mkdir and cd together, as in mkdir project && cd project or mkdir project; cd project and I believe many people probably do the same thing. I always found it tedious and repetitive to have to type in the directory’s name twice, so I thought, “why not merge these two into one command?” Something like mkcd project could do both jobs at once and reduce typing; it’s like hitting two birds with one stone, so to speak.
The biggest problem I’ve encountered in the implementation of a seemingly simple idea is that when programs or shell scripts are run they are child processes. That said, you can’t have a simple BASH script that reads “mkdir $1 && cd $1” because it would only switch to the directory while running as a child process instead of actually switching to the directory. The same applies to the system( ); function in stdlib.h (in C, C++ – cstdlib -, and related languages).
I am considering submitting the idea to the GNU project. The idea has been sent and I’m awaiting their reply.