|63||63||However, none of this would be useful if you actually had to write these extended types in regular programs. It's a good thing then that, for the most part, you can ignore the extended information when writing programs. Because all the extra information is ''orthogonal'' to the main shape of the type, ie its argument and return data types, the compiler can fill this in for you behind the scenes. We call this ''type elaboration''. The extra information is present in the interface files and core language, but you'll only have to worry about it if you import foreign functions from C land or start to mix laziness with destructive update in the same program.