Towards a Taxonomy Of Problem Solving Types