working on desugaring arrow syntax