FreeT and (pipes) Producer replacement with a simple build/foldr optimization model following Data.List