anchor.diff:  }
   <%}%>
   
  -
   }  // namespace type
   }  // namespace msgpack
   
  
positive.code: 		if(o.type != type::ARRAY) { throw type_error(); }
  	}
  };
  
  <%0.upto(GENERATION_LIMIT) {|i|%>
  template <typename A0<%1.upto(i) {|j|%>, typename A<%=j%><%}%>>
  struct define<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> {
  
negative.code: };
  <%}%>
  
  inline define<> make_define()
  {
  	return define<>();
  }
  <%0.upto(GENERATION_LIMIT) {|i|%>
  template <typename A0<%1.upto(i) {|j|%>, typename A<%=j%><%}%>>
  define<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> make_define(A0& a0<%1.upto(i) {|j|%>, A<%=j%>& a<%=j%><%}%>)
  