{ lib, ... }: with lib; with builtins; rec { readLines = f: let lines = filter isString (split "\n" (readFile f)); in take ((length lines) - 1) lines; splitWhitespace = s: filter isString (builtins.split "[[:space:]]+" s); abs = i: if i >= 0 then i else i * -1; delta = x: y: abs (x - y); listSum = foldl' add 0; eq = x: y: x == y; }