FieldValue:
    | null
    | string
    | number
    | bigint
    | boolean
    | Date
    | FieldValue[]
    | FieldValue.Properties
    | FieldValue.Reference
    | FieldValue.Percent
    | FieldValue.Celsius
    | FieldValue.Bytes

A FieldValue represents a concrete value for a datatype. Most values are primitives but some values we encode with specialized typed objects so we can capture the original semantic meaning.