From your other post: "In both Gluon and Haskell, functions without arguments can be represented as functions over the unit type: f: () -> SomeType"
Isn't `f` a constant here too?, how is this different than getChar? (I get I don't understand something here but not sure what)
(Though yes, `f` also is a constant... it's just a constant that happens to be a function, which `getChar` is not.)