Having found a class of programs for which the high and low roads are equivalent, we can see several ways to generalise both. The low road can have improved handling of non-recursive clauses and more flexible skeletons. The high road can be made more flexible by eliminating the type, mode and determinism restrictions inherited from functional programming.