Ported String types to Text

Changed all human-legible String types to Text. Also cleaned up some unnecessary type conversions and removed unused packages.
Prefix operators are confusing.  Especially in a big one-liner. You can use any infix operator partially, eg.

(1+)
or
(+1)

I think you just meant to cons here, though. I think you want to do something like:
 maybe [base] (\x -> base : [String x])

Much clearer.