add MaybeADT + tests; consolidate XXX->Str functions (always with an *upper-case S* in Str so we don't clash with any projections [ADT fields should always use lower-case]); add test helper doesnt_ok