Yeah - its weird.  I think the routing helper must have forced evaluation.  Perhaps we can have a eager_routes object that uses method missing to eagerify the input and then call the regular routing function.