Metashell maintains an environment, which is a piece of C++ code. When you evaluate a metaprogram in the shell (eg. fib<3>::value), the metaprogram is evaluated in that environment: it can use all the ...