follow Lazy type while reducing