proper attribution
rename `lift` to `liftA`, provide it as an extension method on `Applicative`