Haskell has an INLINE pragma that can be used to indicate to the compiler that you would like a function's definition to be inlined at each call site. (not all compilers respect the INLINE pragma; GHC does, any others?)