layout: series_index
title: “The ‘Understanding F# types’ series”
seriesIndexId: “Understanding F# types”
F# is not just about functions; the powerful type system is another key ingredient. And just as with functions, understanding the type system is critical to being fluent and comfortable in the language.
In addition to the common .NET types. F# has some other types that are very common in functional languages but not available in imperative languages like C# or Java.
This series introduces these types and how to use them.
- Understanding F# types: Introduction. A new world of types.
- Overview of types in F#. A look at the big picture.
- Type abbreviations. Also known as aliases.
- Tuples. Multiplying types together.
- Records. Extending tuples with labels.
- Discriminated Unions. Adding types together.
- The Option type. And why it is not null or nullable.
- Enum types. Not the same as a union type.
- Built-in .NET types. Ints, strings, bools, etc.
- Units of measure. Type safety for numerics.
- Understanding type inference. Behind the magic curtain.