Allow 'functionally pure' option