Explanation: You can only access fields on records, like this: ┌─────────────────────────────────┐ │ { foo = True, bar = "ABC" }.foo │ This is valid ... └─────────────────────────────────┘ ┌───────────────────────────────────────────┐ │ λ(r : { foo : Bool, bar : Text }) → r.foo │ ... and so is this └───────────────────────────────────────────┘ ... but you cannot access fields on non-record expressions For example, the following expression is $_NOT valid: ┌───────┐ │ 1.foo │ └───────┘ ⇧ Invalid: Not a record You tried to access a field named: ↳ $txt0 ... on the following expression which is not a record: ↳ $txt1 ... but is actually an expression of type: ↳ $txt2 Some common reasons why you might get this error: ● You accidentally try to access a field of a union instead of a record, like this: ┌─────────────────┐ │ < foo : a >.foo │ └─────────────────┘ ⇧ This is a union, not a record