mpl::apply<f, args...> takes its first parameter and invokes it (in MPL sense) with the rest as arguments, meaning, it evaluates to f::apply<args...>::type
the unnamed placeholder _1 is a typedef for arg<1>, a metafunction that returns the 1st of its arguments. _1::apply<A,B,C,D>::type is A