úÎ Þ     !Appends a type-list and another. The empty type-list. Cons a type onto type-list. 3Provides injection and projection into type lists. Holds e == prj (inj e s) for all s and e. Injects a value of type e into s if s contains the type e. Projects a value of type e out from s if s contains the type e. )Represents concatenated rows or records. Field a3 is a type list which contains only one element of  a6. And every field in the records should be this type.  Creates a  of a. Concatenates between s or records. Records are = concatenated rows. For example, Following expressions are  valid. ( -- Concatenation of rows (i.e. record)  field "string" & field True  -- Concatenation of records 9 (field 'c' & field ()) & (field False & field "string") 8 -- ... And concatenations between a field and a record + field () & (field False & field "string") & (field 'c' & field ()) & field False Updates a value e in s, using given function e -> e. unknown experimentalnonowarn@gmail.comSame as Knows lab (TypeOf lab) s, Useful on writing type  signitures. Holds e == (lab .^ (lab ^= e $ s))  where #lab :: lab; e :: TypeOf lab; s :: s  FieldOf a == a :> TypeOf a TypeOf a$ should indicate a type labelled by a 5Injects and Projects a labelled values into records. Injects a labelled value Projects a labelled value Represents labelled field. Represents labelled value.  Attaches a label. !Detaches a label. Makes a labelled field. Updates a labelled value Creates a field labelled by a Strict version of   Strict version of   Strict version of        "      !"#$has-0.4Data.HasData.Has.TypeListData.Has.EngineTyNil:::Contains:&:Fieldfield&HasFieldOfTypeOfKnowsinjlprjl:>Labelled.>updlfieldOf^=^.^:Append:++:.++.const2injprjupdLabel unLabelledlabelunlabel