Merging from trunk

svn path=/branches/release/libs/function_types/; revision=84745