Applicative functor operations

Generates a record whose fields all contain the same value. In contrast to the
repeat function from the Prelude, this function generates a finite data structure.
Thereby, the size of the generated record is determined by its type. repeat is almost a
proper implementation of pure from the Applicative class.

Merges a record of functions and a record of arguments by applying the functions to the
corresponding arguments. The (<<*>>) function is almost a proper implementation
of (<*>) from the Applicative class.

Modification of fields

Modifies a record by changing some of its field values. The first argument of modify is
called the modification record, and the second argument is called the data record. The
result is formed by applying each field value of the modification record to the
corresponding field value of the data record and replacing the latter by the result of the
application. Data record fields that have no corresponding field in the modification record
are left unchanged.