Returns the result type of begin
template< typename T, typename Tag > struct begin { typedef unspecified type; };
result_of::begin< T, tag::index<1> >::type