add spire implementation & non-optimized Algebird fold