When a new approach to programming descends from the abstract heights of theoretical computer science and presents itself as a tool for software development it is very unlikely that it will be immediately embraced by the practically-minded software engineer. This is why a significant part of our project involved the integration of DPs within established programming languages. Nevertheless, in order to fully exploit the capabilities of DPs a system designer will clearly have to examine his problem in new ways. Specifically, as well as thinking about data structures and the organisation of procedures, he will need to identify conceptual systems which underlie the various tests and manipulations which the program will perform.