bump: minor type: feature **Generic records and functions.** `property Pool { items: []T }`, `function first(xs: []T) -> T` and `function map(xs: []T, f: fn(T) -> U) -> []U`; a type writes an instance as `Pool`, nested as deep as needed. A call's type arguments come from its arguments, or from the declared type its result is written into, and are refused with the parameter named when neither says. Each instance is compiled once as an ordinary record or function. `ludic-fmt` keeps `Pool` together while still spacing `a < b`.