F# 2D cave generation implementation