inline rec functions

"let rec inline" doesn't always behave as expected