let memoize<'a when 'a : comparison> (f : 'a -> 'b) : 'a -> 'b =
let results = ref Map.empty
match Map.tryFind x !results with
results := Map.add x result !results
let rec fib' (n : bigint) : bigint =
| n -> fib'' (n - 1I) + fib'' (n - 2I)
|> Seq.iter (printfn "%O")