1/// `Extract` lets you take a value of `A` out of an `F<A>`. 2/// 3/// It is the categorical dual of `Pure`, ie. it does the opposite of `Pure`. 4pub trait Extract<A> { 5 fn extract(self) -> A; 6}