На ФП можно написать более читаемый код, чем в императивном стилей. Если написано правилльно, то это упрощает код. Если только увеличивает сложность - то наверное неправильно написано или не применимо.
given(priceFillerMock.fill(eq(productMock), any())).willReturn(productWithPricesMock);
given(availabilityFillerMock.fill(eq(productMockWithPrices), any())).willReturn(productMockWithAvailabilities);
given(imageFillerMock.fill(eq(productMockWithAvailabilities), any())).willReturn(productMockWithImages);
var result = productFiller.fill(productMock, p1, p2, p3);