a bit more written (agda example "finished" -- not readable, though)