public static ILease <B> Map <A, B>(this ILease <A> lease, Func <A, B> f) { return(lease.Bind(x => Return(f(x)))); }