Made the subtypes of either accessible from without.
Minor logic flaw in monad::pure fixed for std::list.