John Peterson pointed out to me that things like: f f = f ARE valid, and translate into: f = \f -> f I checked the report and indeed he's probably right; the linearity constraints are stated for patterns and do not (clearly) include the name of the function being defined. So I guess Lennart's example IS valid! (Do people think it or the example above SHOULD be valid??) -Paul (I Hate Syntax) Hudak