
comp(f g x) = f(g(x));

eof

weird(f) = f(f);

all(f x) = if Null(x)
		then x
		else Seq(f(Head(x)), all(f, Tail(x)));


app(x y) = if Null(x) 
		then y
		else Seq(Head(x), app(Tail(x), y));

fact(x) = if Zero(x)
		then  1
		else  Times(x, fact(Diff(x, 1)));
