Various functions that use function returning for their abstractions