title: Haskell - Mapping a function over a Rose Tree
body: <p>If I define a Rose tree as </p>
  
  <pre><code>data RTree = Node a [RTree a]
      deriving(Show, Eq)
  </code></pre>
  
  <p>How would I go about defining a map function for it? The map function is to be  defined as</p>
  
  <pre><code>map_rose_tree :: (a -&gt; b) -&gt; RTree a -&gt; RTree b
  </code></pre>