move closure conversion pass to a separate file