Inferring schema using case classes