allow exclusion of unsuitable (non-pure) functions