Added section 6, need to figure out, how to write Recall as a functor