Typos Personally I would expect Phoenix to have a first letter uppercase throughout. (And I think it reads better that way) Polymorphic Functions ... arg2 is of type char const*. add still works because the C++ standard library allows... Need a space, or better (because char const*. add are all in C++ font and it looks funny.) "type char const*. Function add still works..." Organization .. which may be desireable in a pure FP application. and in Extra arguments There are a few reasons why enforcing strict arity is not desireable... "desirable" would be more desirable ;-)) Lazy statments (e.g. if_, while_) should be Lazy statements. Note, for example, that we skimp - do you mean skim? Paul A. Bristow