Generic return type of function in record - Theo's Typesafe Cult