pointfree dft