Towards a Taxonomy of Problem Solving Types