This p a p e r is a b o u t co n stru ctin g generic functions for dynam ically ty p ed values (or shortly, dynam ics). L et us first explain w h at we m ean by generic functions and dynam ics. In Generic Haskell [13] as well as in Clean [15] it is possible to define g en eric fu n c tio n s [4,8]. A generic function is an u ltim a te reusable function th a t allows reflection on th e stru c tu re of d a ta in a type-safe way. O nce defined, a generic function can be applied on any value of any given concrete sta tic type. G eneric functions can be used to define work th a t is of a general n a tu re. T he technique has successfully been applied to define functions like equality, m a p , fo ld , to co n stru ct parsers and p re tty printers, to create GUI applications [3] an d to g enerate te st d a ta [10]. A generic function is actu ally n o t a single function, b u t ra th e r a special kind of overloaded function. To define a generic function, instances for th e generic function are defined for a finite num ber of ty p e constructors. Given these base instances, th e com piler can fully au to m atically derive an instance for th e generic function for any given concrete sta tic type. B o th in Haskell as well as in Clean one can use d yn a m ic s. D ynam ics allow the program m er to associate a ru n-tim e value w ith its type. T he are some differences betw een dynam ics in Haskell and in Clean. In Clean dynam ics are in corporated in th e language while in Haskell dynam ics are m ade available via a lib ra ry fa cility. D ynam ics in Clean can be of polym orphic type, and one can do run-tim e ty p e unification using ty p e p a tte rn variables [14]. F urtherm ore, dynam ics (even