This issue has existed in F# for as long as I've been using it, and is probably well-known: The issue has long manifested itself in let rec ... and ... declarations ...