I ran into this issue today (http://stackoverflow.com/questions/26173635/performance-penalty-using-anonymous-function-in-julia) whereby functions -- whether anonymous or not -- generate lots of garbage when called indirectly. That is when using type signatures like clever_function(f::Function).
Is making this code more efficient in scope for the 0.4 release? The workaround -- hand-coding types then using type dispatch -- is quite effective, but definitely a big hit to readability.