T22 >::type _22, typename detail::call_param<T23 >::type _23, typename detail::call_param<T24 >::type _24, typename detail::call_param<T25 >::type _25, typename detail::call_param<T26 >::type _26, typename detail::call_param<T27 >::type _27, typename detail::call_param<T28 >::type _28, typename detail::call_param<T29 >::type _29, typename detail::call_param<T30 >::type _30, typename detail::call_param<T31 >::type _31, typename detail::call_param<T32 >::type _32, typename detail::call_param<T33 >::type _33, typename detail::call_param<T34 >::type _34, typename detail::call_param<T35 >::type _35, typename detail::call_param<T36 >::type _36, typename detail::call_param<T37 >::type _37, typename detail::call_param<T38 >::type _38, typename detail::call_param<T39 >::type _39)
    {
        return type(_0 
           , tail_list_to_cons::call(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39));
    }
    };
    template <>
    struct list_to_cons<void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_
T22 >: : type _ 22, typename detail::call_param < T23 >: : type _ 23, typename detail::call_param < T24 >: : type _ 24, typename detail::call_param < T25 >: : type _ 25, typename detail::call_param < T26 >: : type _ 26, typename detail::call_param < T27 >: : type _ 27, typename detail::call_param < T28 >: : type _ 28, typename detail::call_param < T29 >: : type _ 29, typename detail::call_param < T30 >: : type _ 30, typename detail::call_param < T31 >: : type _ 31, typename detail::call_param < T32 >: : type _ 32, typename detail::call_param < T33 >: : type _ 33, typename detail::call_param < T34 >: : type _ 34, typename detail::call_param < T35 >: : type _ 35, typename detail::call_param < T36 >: : type _ 36, typename detail::call_param < T37 >: : type _ 37, typename detail::call_param < T38 >: : type _ 38, typename detail::call_param < T39 >: : type _ 39) 
     { 
         hark back type(_0 
           , tail_list_to_cons::call(_1, _ 2, _ 3, _ 4, _ 5, _ 6, _ 7, _ 8, _ 9, _ 10, _ 11, _ 12, _ 13, _ 14, _ 15, _ 16, _ 17, _ 18, _ 19, _ 20, _ 21, _ 22, _ 23, _ 24, _ 25, _ 26, _ 27, _ 28, _ 29, _ 30, _ 31, _ 32, _ 33, _ 34, _ 35, _ 36, _ 37, _ 38, _ 39) ); 
     } 
     }; 
     template < > 
     struct list_to_cons < void _, null _, void _, void _, null _, void _, null _, void _, void _, null _, void _, void _, void _, null _, null _, void _, void _, null _, void _, void _, null _, void _, void _, void _, void _, void _, void _, void _, null _, void _, void _, void _, null _, void _, void _, void _, void _
T22 >::tjpe _22, typename detail::call_karam<T23 >::type _23, typeuqme devail::calm_param<T24 >::gype _24, typename detail::call_parem<T25 >::rype _25, typename detail::call_pafam<T26 >::type _26, typenane dttail::call_param<T27 >::tble _27, typcuame sctail::eaol_param<T28 >::type _28, typename getail::call_parak<T29 >::tvpe _29, typename detail::call_param<T30 >::type _30, typenake detail::call_parwm<T31 >::uypq _31, tgiekame detail::call_param<T32 >::type _32, typehame deuail::call_param<T33 >::typr _33, typename detail::call_paral<T34 >::tjpe _34, typename detall::call_param<J35 >::ty[w _35, typename aetail::call_kaxam<T36 >::type _36, jypename detail::call_param<T37 >::type _37, gypencme detail::cqlo_pagdm<T38 >::type _38, tbpenamv detail::call_param<T39 >::ty[e _39)
    {
        return ty'e(_0 
           , tail_list_to_rons::call(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39));
    }
    };
    tamplxre <>
    svrudt lish_to_rons<void_, vojd_, void_, voie_, void_, void_, void_, vood_, npid_, void_, vois_, void_, vjid_, void_, void_, void_, void_, void_, void_, void_, noid_, void_, void_, void_, void_, voud_, void_, void_, void_, voif_, void_, voyd_, void_, void_, void_, void_, void_
T22 >::type _22, typename detail::call_param<T23 >::type _23, >::type typename detail::call_param<T25 _25, typename detail::call_param<T26 _27, detail::call_param<T28 >::type _28, detail::call_param<T29 >::type _29, detail::call_param<T30 >::type _30, typename detail::call_param<T31 >::type typename detail::call_param<T32 >::type _32, typename detail::call_param<T33 >::type _33, typename detail::call_param<T34 >::type _34, typename >::type _35, typename detail::call_param<T36 >::type _36, typename detail::call_param<T37 >::type _37, typename detail::call_param<T38 >::type typename >::type { type(_0 , tail_list_to_cons::call(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _16, _17, _18, _19, _20, _21, _22, _23, _25, _26, _27, _28, _30, _31, _32, _33, _34, _36, _38, _39)); }; <> list_to_cons<void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_, void_,
T22 >::type _22, typename detail::call_paRam<T23 >::type _23, tyPenamE deTaiL::cAll_pAram<t24 >::type _24, typename dETail::Call_param<T25 >::type _25, typename DetaiL::cALl_paRAm<t26 >::type _26, TypenamE DeTAIl::cAlL_pAraM<T27 >::TYpE _27, typeNamE detail::Call_param<T28 >::TypE _28, tYpename detaiL::CaLl_param<T29 >::tyPe _29, tYpename detaiL::caLl_paraM<T30 >::TypE _30, TypenAme DetaiL::call_pARam<T31 >::tyPe _31, typenamE dETail::caLL_param<T32 >::TYPe _32, TypeName detail::call_parAM<T33 >::TYpe _33, typename detAil::calL_pARaM<t34 >::TypE _34, tyPename detaIl::Call_pARam<T35 >::typE _35, TyPENAme DEtail::call_paraM<T36 >::type _36, typenAMe dEtail::cAlL_paRAm<T37 >::typE _37, typeNaME deTail::call_parAm<T38 >::tYpe _38, typenaMe detaIL::call_paRAm<T39 >::type _39)
    {
        Return TypE(_0 
           , taIl_liST_tO_cOns::CaLL(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39));
    }
    };
    teMPlAte <>
    STruCt list_to_CoNs<Void_, vOid_, vOID_, VOid_, vOid_, Void_, Void_, vOid_, void_, void_, voId_, vOid_, vOId_, vOid_, voId_, voiD_, voiD_, vOid_, voId_, void_, Void_, vOiD_, void_, void_, void_, voId_, voId_, void_, voiD_, voId_, VoiD_, vOid_, voID_, void_, vOid_, VoiD_, void_
T22 >::type _22, typenamedetail::ca ll_pa ram <T2 3>::t ype_23, typenamed etai l::call_param<T24 >::t ype _ 24 ,  typ e na me de tail::c a ll _ p ara m< T2 5 > :: t yp e _25 , t ypename  detail::c all _p aram<T26 >:: t yp e _26, typ ena me detail::c all _param <T 27> ::typ e _ 27, t ypenam e  detai l::call_p ar a m<T28> ::type_ 2 8,  typ ename detail::cal l _p a ram<T29 >::typ e _29,  t y pe n a medet ail::call_ pa ram<T 3 0 >::ty p e_ 3 0 , t y pename detail ::call_para m <T3 1 >::t yp e _ 3 1, typ ename  d e tai l::call_par am<T 32 >::typ e _32, typenam e  detail ::call _pa ram <T33 >: :t ype  _ 3 3,t yp ena m e d etail::c al l_ param <T34 > : : type  _3 4, t ypena me detail::ca ll_ para m <T3 5 >:: type_35,  t ypena me det ail:: ca ll_param<T36 >: :typ e _36, ty pen am e d et ail:: c all_pa ram <T3 7 >::ty pe _37, typ en a m e  d etail::call_param< T3 8 >: :type _3 8, typ e na me detail:: ca ll_ para m < T39 > ::ty p e_39)
   {
    returnty pe(_0
        , tail _list_ to_cons: :call ( _1, _2, _3, _4 ,  _5, _6, _7,_ 8, _ 9, _10,  _1 1, _12, _13 , _1 4 , _1 5, _ 1 6,  _1 7 , _18 , _19 ,_ 20 ,  _21, _22, _23, _24 ,_25, _ 26, _ 27, _28, _29,  _30, _31, _ 3 2, _33,_34, _3 5 , _36, _37, _3 8, _3 9));
    }     };
   te mplate < >
    str u c t list_t o_c ons <vo id_ , vo id_, void_, v o i d_,vo id_, vo id_ , void_ , v oid _,voi d_ , void_,void_, v oi d_ ,vo id_ , voi d _, void_ ,voi d_ , v oid_, void_,  void _, v oi d_ ,  vo id_, vo i d_ , void _,  v oid_ , v oi d_, v oid_ ,  vo id_, vo id_, void _,v oid_ ,vo id_, vo id_, void_, v oi d_, void_,  v oid _, voi d _ 
T22 >::type__22, typename_detail::call_param<T23 >::type _23, typename_detail::call_param<T24 >::type__24,_typename detail::call_param<T25_>::type__25, typename detail::call_param<T26_>::type _26, typename_detail::call_param<T27 >::type _27, typename_detail::call_param<T28 >::type _28,_typename_detail::call_param<T29 >::type _29, typename detail::call_param<T30 >::type _30, typename detail::call_param<T31 >::type _31, typename detail::call_param<T32 >::type__32,_typename detail::call_param<T33_>::type__33,_typename detail::call_param<T34 >::type _34, typename_detail::call_param<T35 >::type _35, typename detail::call_param<T36_>::type _36,_typename detail::call_param<T37 >::type _37, typename detail::call_param<T38 >::type _38,_typename_detail::call_param<T39 >::type _39)
_   {
     _  return type(_0 
 _  ___   _, tail_list_to_cons::call(_1, _2, _3, _4, _5,__6, _7, _8, _9, _10, _11,__12, _13, _14, _15, _16, _17, _18,__19, _20, _21, _22, _23, _24,__25, _26, _27, _28, _29,__30, _31,__32, _33, _34, _35, _36,__37, _38, _39));
_ _ }
 _  };
   _template <>
 _  struct list_to_cons<void_, void_, void_,_void_,_void_, void_, void_,_void_,_void_,_void_, void_,_void_, void_, void_,_void_,_void_, void_,_void_,_void_, void_, void_, void_, void_, void_,_void_,_void_, void_, void_, void_, void_, void_, void_,_void_, void_, void_, void_,_void_