expression problem with case classes