public static Identity <T3> SelectMany <T1, T2, T3>(this Identity <T1> identity, Func <T1, Identity <T2> > func, Func <T1, T2, T3> select)
 {
     return(select(identity.Value, func(identity.Value).Value).ToIdentity());
 }
 public static Identity <T2> Bind <T1, T2>(this Identity <T1> identity, Func <T1, Identity <T2> > func)
 {
     return(func(identity.Value));
 }