public static IIsPossibly <TT> TransformInner <T, TT>(this IIsPossibly <T> self, Func <T, TT> func) { if (self is IIsDefinately <T> isYes) { return(Possibly.Is <TT>(func(isYes.Value))); } return(Possibly.IsNot <TT>()); }