@Apfelmus:
For practical purposes I think Train should have swapped type parameters in order to make Functor act on the type of the list elements.
data Train b a = Wagon a (Train b a) | Loco b _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe