A neutron instrument simulator based on Haskell Pipes