There is another goal that programming languages can have, and that is to communicate ideas to other humans. My project, Curv, is a language for describing geometric shapes. Ideally, I would like to keep the language "pure", and omit any features that are not needed for the purpose of describing shapes in an abstract, mathematical way. For example, the language has numbers, but for the pure purpose of describing mathematical relationships to another human being, I just need the abstract concept of numbers. To execute code efficiently on a GPU, I need to introduce concepts like 'int32', 'float32', 'float64', and so on, which adds a lot of extra complexity. This tension in my language is one thing that came to mind when I was reading Frege.