add namedtuple+RecurStruct; ugly but simpler to_recur reasoning
FIX key order mixup via update to_recur logic using ugly slices
upd `type(X) is Y` -> `isinstance(X, Y)` for safer