def maybeShouldObeyMonadLaws[A, B, C]( testDataDescription: String, testItems: Seq[A], f: Function1[A, Maybe[B]], g: Function1[B, Maybe[C]]): Unit = { val maybes = MaybeNot +: (testItems map { Just(_) }) // perform the tests... }