What are row types? Are they algebraic data types? : <p>I often hear that F# lacks support for OCaml row types, that makes the language more powerful than F#.</p>

<p>What are they? Are they algebraic data types, such as sum types (discriminated unions) or product types (tuples, records)? And is it possible to write row types in other dialects, such as F#?</p>
