com.twitter.algebird
Use this to test your implementations: property("My succ") { predessibleLaws[MyType] }