Removed RecurseDim, cleaned up code
Added mutually-recursive constructions