In the previous chapter we introduced some data structures of F# and scratched the surface of their functionality. In this section we will take a deeper look at several data structures and expressions used in many programs.
The following is a list of what will be covered together with a short description to summarize their main characteristics:
Record types: Record types are used to represent data and group pieces of data together by combining named values and types.
Discriminated unions: Discriminated unions are useful to represent heterogeneous data and support data that can be a set of named cases.
Enumerations: Enumerations in F# are almost identical to enumerations in other languages and are used to map labels to constant values.
Arrays: Arrays are collections of a fixed size and must contain values of the same type. Large arrays of constant values can be compiled to efficient binary representations.