http://stackoverflow.com/questions/3503137/tail-recursive-copy-of-a-seq-to-a-list-in-f
http://ericlippert.com/2015/05/18/when-everything-you-know-is-wrong-part-one/
http://bartoszmilewski.com/2011/01/05/using-f-sequences-and-pipelines/
http://stackoverflow.com/questions/3503137/tail-recursive-copy-of-a-seq-to-a-list-in-f