A Description of a heterogenous NoC in Haskell