f is the field tag, a is the field value and b is the rest of the record.InstancesHasField f r => HasField f (RecCons g a r) HasField f (RecCons f a r) SetField f r a => SetField f (RecCons g b r) a SetField f (RecCons f a r) a (Eq a, Eq b) => Eq (RecCons f a b) (Ord a, Ord b) => Ord (RecCons f a b) (FieldTag a, Read b, ReadRecRow c) => Read (RecCons a b c) (FieldTag a, Show b, ShowRecRow c) => Sh