add tail-call elimination test