avoided the creation of temporary variables when an argument is passed to the recursive call unchanged, or only a single argument is passed
avoided the creation of temporary variables when an argument is passed to the recursive call unchanged, or only a single argument is passed

DavidTimms/tail-call-eliminator