Modula-2 constructive program development