Bottom-up
Elementary functions to convert cards to and from their string representations. The u and p within the code stand for "user" and "perl" respectively, and mean user representation and internal C representation.
The first experimental version of Freecell Solver was written in Perl, and since then the naming convention for this case persisted.