full closure conversion sort of works, doesn't map variables on to types yet, will have to add that