Learning from Variation: A Case-Based Approach