Change: mt::channel::select() to mt::select();
Add: support for future values in mt::select();
Add: improvements to the implemenation of mt::select();
Add: type checking to distinguish normal and code section method;
Fix: a few bugs.