Memoizer is a struct, that can be used to calculate different recursive functions with repeatingly the same values.
To do that it saves every single calculated result in a Dictionary and can then, if repeatedly called, just take a already calcualted result from the dictionnary instead of recalculating it.
Fibonacci numbers, factorial, see MemoizerExamples.swift
doesn't seem to work with newest Swift toolchain snapshot (2016-06-06-a)
I get the error that was introduced here: swiftlang/swift@8f955dc
tried to fix it using @NoEscape for op and in the initializer, then it compiles but crashes when first using self.whatEver at runtime.