Description
If a hashtable h is provided, then this outputs nothing, it simply just modifies h. When looking up values, remember that the keys are stored with rows weakly increasing. If no hashtable is provided, then the user is simply given the straightening of the tableau in terms of semistandard tableaux. The answer is in the form a hashtable: each key is a semistandard tableaux, and the value of the key is the coefficient of that semistandard tableaux used to write the input t as a linear combination.
i1 : h = new MutableHashTable from {}
o1 = MutableHashTable{}
o1 : MutableHashTable

i2 : straighten({{3,4}, {1,2}}, h)

i3 : h#{{3,4}, {1,2}}  get the coefficients
o3 = HashTable{{{1, 2}, {3, 4}} => 1}
o3 : HashTable

i4 : straighten({{3,4}, {1,2}})  just get the answer instead
o4 = HashTable{{{1, 2}, {3, 4}} => 1}
o4 : HashTable
