Make der() monadic

This is needed for book-keeping and breaks all functional usages.

Signed-off-by: Christoph Höger <christoph.hoeger@tu-berlin.de>
"Lensify" Core implementation

Signed-off-by: Christoph Höger <christoph.hoeger@tu-berlin.de>