<div dir="ltr">On Sunday, 7 February 2016 05:17:55 UTC-5, Tom Ellis  wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On Sun, Feb 07, 2016 at 02:25:41AM -0500, Tyson Whitehead wrote:
<br>> RecordF (f Type1) (f Type2) ... -> (f Type1, f Type2, ....)
<br>> -> f (Type1, Type2, ...) -> f (Record Type1 Type2 ...)
<br>> 
<br>> I can't seem to find any uncurried zip implementations for arbitrarily
<br>> large tuples (or any other way to do this without writing the
<br>> boilerplate).  Am I missing something?  Is there a better way to do this?
<br>
<br>I would call this a multi-typed 'Data.Traversable.sequence'.
<br>
<br><a href="http://Data.Profunctor.Product.TH" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2FData.Profunctor.Product.TH\46sa\75D\46sntz\0751\46usg\75AFQjCNGYiMUQpU44Xdc1SRJB6CPSlIgggg';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2FData.Profunctor.Product.TH\46sa\75D\46sntz\0751\46usg\75AFQjCNGYiMUQpU44Xdc1SRJB6CPSlIgggg';return true;">Data.Profunctor.Product.TH</a> generates this (in fact something slightly more
<br>general that works for ProductProfunctors, not just Applicatives).
<br></blockquote><div><br></div><div>Thanks for the pointer Tom.  Currently reading up about it.  Found your post too.</div><div><br></div><div>http://h2.jaguarpaw.co.uk/posts/product-profunctor-folds/<br></div><div><br></div><div>Cheers!  -Tyson</div></div>