# Manually unroll operations with objects of tuple

**URL:** https://discourse.julialang.org/t/manually-unroll-operations-with-objects-of-tuple/11604
**Category:** New to Julia
**Tags:** question, metaprogramming, unrolling
**Created:** [June 12, 2018, 12:02pm UTC](https://discourse.julialang.org/t/manually-unroll-operations-with-objects-of-tuple/11604 "2018-06-12T12:02:05Z")
**Posts on this page:** 1
**Showing post:** 14

<div class="post-metadata">

### Author: ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)
#### Post date: [June 12, 2018, 1:33pm UTC](https://discourse.julialang.org/t/manually-unroll-operations-with-objects-of-tuple/11604/14 "2018-06-12T13:33:39Z")

</div>

Not sure what’s going wrong then. Are there still allocations? Is the output type of `collisiontime` type-stable under all types contained in TUP and is it equal to `T`? How long are your tuples (at some point it will be better to loop)?

For debugging, I would hand-translate the quoted code for an example of a small tuple and see whether this performs as expected and has the right `@code_warntype` output.

Also, another thing you can look at is how Unrolled.jl does it by expanding their macro-call.

Last you could try lispy recursion instead of a generated function, e.g.: [0.6: how do you broadcast `call` over a vector of functions? - #12 by andyferris](https://discourse.julialang.org/t/0-6-how-do-you-broadcast-call-over-a-vector-of-functions/2772/12)

For more help from my side I need a MWE.

---

_[View the full topic](https://discourse.julialang.org/t/manually-unroll-operations-with-objects-of-tuple/11604)._
