Allow future generation directory from a value
Add test coverage for future with fn