+ Added type_of() template class which deduces the type of a generic expression.
Oracle class updated: added support for operator>> and std::swap