package scalaprops package scalazlaws import scalaprops.Property.forAll import scalaprops.Properties.properties import scalaz._ object band { def idempotency[A: Equal: Gen](implicit A: Band[A]): Property = forAll(A.bandLaw.idempotency _) def laws[A: Band: Equal: Gen]: Properties[ScalazLaw] = properties(ScalazLaw.band) ( ScalazLaw.bandIdempotency -> idempotency[A] ) def all[A: Band: Equal: Gen]: Properties[ScalazLaw] = Properties.fromProps(ScalazLaw.bandAll, semigroup.laws[A], band.laws[A]) }