Handle distribute in Resolver, and almost in desugarer