wrapping builtins with closures to make them passable as values